页面添加H5声音图标

页面添加H5声音图标

界面悬浮在表面,更换播放器样式(后来根据需要没有设置悬浮)
界面告警每隔几秒报一次警,声音就响一次
同时要实现,如果不想报警/播放,实现关闭音乐效果

 <audio src="../../../voice/warn.wav" id="audio"></audio>
<img id='musicAudioPlayAndPause' onclick='playOrPaused(this);'src='../../../images/on.png' />
 var flagVoice = 1;//声音关闭状态为2,开启状态为1

 $.ajax({
                type: "POST",
                url: wsurl + "/Api/WorkFlow/AlarmHandle/Fault/Get.asmx/ByStatus",
                data: { DGId: DGId, token: token },
                dataType: "json",
                success: function (data) {
                    if (!(["info"] in data)) {
                        for (var i = 0; i < getJsonObjLength(data.Table) ; i++) {
                            if (data.Table[i].HdStatus == 1) {
                              ...
                    setTimeout("GetCount(1)", 5000);
                    //判断预警>0,执行响起警报声音
                    if (flagVoice == 1) {
                        if ($("#spanHdAlarm").text() > 0) {
                            // initAudio();
                            audio.play();
                        } else {
                            // do nothing
                        }
                    }
                },
                error: function () {
                    ShowMsg('系统错误,请联系管理员。', "false");
                }
            });
        }

        //暂停或播放 声音
        function playOrPaused(obj) {
            if (flagVoice == 2) {
                //audio.play();
                flagVoice = 1;
                document.getElementById("musicAudioPlayAndPause").setAttribute("src", "../../../images/on.png");
                return;
            } else if (flagVoice == 1) {
                flagVoice = 2;
                //audio.pause();
                document.getElementById("musicAudioPlayAndPause").setAttribute("src", "../../../images/off.png")
            }
        }

参考网上写的自定义播放器代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
   <!-- <script src="http://api.map.baidu.com/api?v=2.0&ak=A9vxNPRWQDSg0GZqTZMRgzmb36lbNIS5" type="text/javascript"></script>-->
    <style>

            /*.focusBox {
            background-image: url(css/ztreestyle/img/focusT.png);
            animation-name: scaleout;
            animation-duration: 1.5s;
            animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 1);
            animation-iteration-count: infinite;
            width: 40px;
            height: 40px;
        }
        .point {
            width: 10px;
            height: 10px;
            border-radius:50%;
            background-color:red;
            z-index:100;

        }*/

        .point {
            background-image: url(css/ztreestyle/img/point.png);
            width: 35px;
            height: 35px;
        }
        .focus{
            background-image: url(css/ztreestyle/img/focuss.png);
            animation-name: scaleout;
            animation-duration: 1.5s;
            animation-timing-function: cubic-bezier(0.65, 0.05, 0.36, 0.3);
            animation-iteration-count: infinite;
            width: 35px;
            height: 4px;
        }


        @keyframes scaleout {
            0% {
                transform: scale(0.2);
                opacity: 1;
            }

            100% {
                transform: scale(2.0);
                opacity: 0.8;
            }
        }
    </style>
    <style type="text/css">
        /*#musicAudio {
            width: 300px;
            height: 50px;
            font-size: 0px;
            background-color: #F5F5DC;
            border-radius: 10px;
        }*/

            #musicAudio * {
                display: inline-block;
                vertical-align: middle;
                font-size: 14px;
            }

        #musicAudioPlayAndPause {
            line-height: 50px;
            width: 40px;
            height: 40px;
            margin: 5px 5px;
        }

        #musicAudioTime {
            margin: 5px 5px;
        }

        #musicAudioProgress, #musicAudioProgressPar {
            height: 25px;
            -webkit-border-radius: 10px;
        }

        #musicAudioProgressPar {
            width: 140px;
            background-color: #F0FFFF;
        }

        #musicAudioProgress {
            width: 0px;
            background-color: #7FFFD4;
        }
    </style>
</head>
<body>
    <div id="main" style="height:600px;width:800px;  margin:150px auto;background-color:#0094ff;">
        <!--编辑自定义的播放器界面-->
        <!--<audio src="img/testAudio1.mp3" id="audio"></audio>-->
        <audio src="css/ztreestyle/6709.wav" id="audio"></audio>
        <!--<audio controls="controls" id="audio">
            <source src="css/ztreestyle/2036.wav " onclick="playOrPaused(this)" />
        </audio>-->
        <div id="musicAudio" style="position:absolute;">

           <!-- <img id="musicAudioPlayAndPause" onclick="playOrPaused(this);" src="img/shutdown.ico" />-->
            <!--<div id="musicAudioProgressPar">
                <div id="musicAudioProgress"></div>
            </div>-->
            <!--<p id="musicAudioTime"><span id="currentTime">00:00</span><span>&#47;</span><span id="totalTime">12:00</span></p>-->
        </div>
    </div>
    <script src="squareoverlay.js"></script>
    <!--<script>

        // 定义自定义覆盖物的构造函数

        // 初始化地图
        var map = new BMap.Map("main");
        var point = new BMap.Point(116.40554, 39.915);
        map.centerAndZoom(point, 15);
        //开启鼠标滚轮缩放
        map.enableScrollWheelZoom(true);
        // 添加自定义覆盖物
        var focusPoint = new MyFocus(map.getCenter());
        map.addOverlay(focusPoint);
    </script>-->
    <!--用img表示播放暂停按钮的图标、进度条:由圆角的父DIV和用于改变宽度的子DIV构成,p元素:显示时间-->
    <script type="text/javascript">
    var audio ;
    window.onload = function(){
        initAudio();
    }
    var initAudio = function(){
        //初始化页面
        document.getElementById("musicAudio").innerHTML=
        "<img id='musicAudioPlayAndPause'  onclick='playOrPaused(this);' src='css/ztreestyle/img/warn.png'/>" +
        "<div id='musicAudioProgressPar'>"+
        "<div id='musicAudioProgress'></div>"+
        "</div>"+
        "<p id='musicAudioTime'><span id='currentTime'>00:00</span><span>&#47;</span><span id='totalTime'>0:03</span></p>";
        //初始化对象
        audio = document.getElementById('audio');
        //初始化  当前时间
        getCurrentTime();
        //初始化  总时间
        var totalTime=parseInt(audio.duration/60);
        var seconds=parseInt(audio.duration%60);
        if(totalTime==0){
            if(seconds>9){
                totalTime="00:"+seconds;
            }else{
                totalTime="00:0"+seconds;
            }
        }else{
            var totalTimePre,totalTimeNext;
            if(totalTime>9){
                totalTimePre=totalTime;
            }else{
                totalTimePre="0"+totalTime;
            }
            if(seconds>9){
                totalTimeNext=seconds;
            }else{
                totalTimeNext="0"+seconds;
            }
            totalTime=totalTimePre+":"+totalTimeNext;
        }
        document.getElementById("totalTime").innerText=totalTime;
    }
    //更新进度条当前值
    function updateProgressVal(){
        var progressVal=audio.currentTime/audio.duration*140;
        document.getElementById("musicAudioProgress").style.width=progressVal+"px";
    }
    //更新当前时间
    function getCurrentTime(){
        var currentTime=audio.currentTime;
        var totalTime=parseInt(currentTime/60);
        var seconds=parseInt(currentTime%60);
        if(totalTime==0){
            if(seconds>9){
                totalTime="00:"+seconds;
            }else{
                totalTime="00:0"+seconds;
            }
        }else{
            var totalTimePre,totalTimeNext;
            if(totalTime>9){
                totalTimePre=totalTime;
            }else{
                totalTimePre="0"+totalTime;
            }
            if(seconds>9){
                totalTimeNext=seconds;
            }else{
                totalTimeNext="0"+seconds;
            }
            totalTime=totalTimePre+":"+totalTimeNext;
        }
        document.getElementById("currentTime").innerText=totalTime;
    }
    //暂停或播放
    var progressTimer;
    function playOrPaused(obj){
        if(audio.paused){
            audio.play();
            progressTimer = window.setInterval(audioProgress, 100);
            document.getElementById("musicAudioPlayAndPause").setAttribute("src","css/ztreestyle/img/on.png");
            return;
        }
        audio.pause();
        document.getElementById("musicAudioPlayAndPause").setAttribute("src", "css/ztreestyle/img/off.png")
    }

    function audioProgress(){
        if(audio.currentTime <audio.duration){
            if(audio.played){
                //更新当前时间
                getCurrentTime();
                //更新进度条
                updateProgressVal();
            }
        }else{
            clearInterval(progressTimer);
        }
    }
    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值