zoukankan      html  css  js  c++  java
  • js 实现音频播放与暂停

    html:

    <script src="js/jquery-2.1.3.min.js"></script>
    <div id="soundIconPlay" onclick="soundIconOff()"  class="soundIcon soundIconPlay"></div>
    <div id="soundIconOff"  onclick="soundIconPlay()" class="soundIcon soundIconOff hide"></div>
    <div class="audio" style="0; height:0px; overflow:hidden; text-indent:-999px;">
      <audio id="bgmusic" loop="loop" autoplay="autoplay" src="images/bgmusic.mp3" controls=true></audio>
    </div> 
    //关键: 先写页面再引js,否则会报Cannot read property 'pause/play' of null
    <script type="text/javascript">
      function init() {
        var myAudio = document.getElementById("bgmusic");
         myAudio.addEventListener('ended', loopAudio, false);
      }
      function loopAudio() {
          var myAudio = document.getElementById("bgmusic");
          myAudio.play();
      }
     //加载页面播放背景音乐(ios无法实现,只能模拟触屏实现自动播放)
     function audioAutoPlay(id){  
          var audio = document.getElementById('bgmusic'),  
                play = function(){  
                    audio.play();  
                    document.removeEventListener("touchstart",play, false);  
                };  
                audio.play();  
                document.addEventListener("WeixinJSBridgeReady", function () {  
                     play();  
                 }, false);  
                document.addEventListener('YixinJSBridgeReady', function() {  
                     play();  
                 }, false);  
                document.addEventListener("touchstart",play, false);  
    }  
    audioAutoPlay('mybgaudio');  
    </script>
    <script type="text/javascript">
      var oAudioOFF = "1";
      var oAudio = document.getElementById('bgmusic');
      function soundIconPlay(){
        oAudioOFF
    = "1";
        oAudio.play();
        $(
    '#soundIconPlay').show();
        $(
    '#soundIconOff').hide(); }; function soundIconOff(){
        oAudioOFF
    = "0";
        oAudio.pause();
        $(
    '#soundIconPlay').hide();
        $(
    '#soundIconOff').show(); }; </script>

    css:

    .soundIcon{
        position:absolute;
        top:.1rem;
        right:.1rem;
        z-index:1;
    }
    .soundIconPlay{
        .4rem;
        height:.4rem;
        background:url('../images/musicOn.png') no-repeat;
        background-size:100%;
        animation:bgRotate 1.2s infinite linear;
        -o-animation:bgRotate 1.2s infinite linear;
        -moz-animation:bgRotate 1.2s infinite linear;
        -webkit-animation:bgRotate 1.2s infinite linear
    }
    .soundIconOff{
        .4rem;
        height:.4rem;
        background:url('../images/musicOff.png') no-repeat;
        background-size:100%;
        animation:initial;
        -o-animation:initial;
        -moz-animation:initial;
        -webkit-animation:initial
    }
    @keyframes bgRotate{
        from{transform:rotate(0deg)}
        to{transform:rotate(360deg)}
    }
    @-webkit-keyframes bgRotate{
        from{-webkit-transform:rotate(0deg)}
        to{-webkit-transform:rotate(360deg)}
    }
    @-moz-keyframes bgRotate{
        from{-moz-transform:rotate(0deg)}
        to{-moz-transform:rotate(360deg)}
    }
    @-o-keyframes bgRotate{
        from{-o-transform:rotate(0deg)}
        to{-o-transform:rotate(360deg)}
    }
  • 相关阅读:
    [转]How can I create a design netlist without including my source design files?
    [转]基于FPGA的以太网开发
    [转]GMII/RGMII/SGMII/TBI/RTBI接口信号及时序介绍
    [原]Altium画PCB时鼠标十字不能对准焊盘中心
    [转]Altera特殊管脚的使用(适用全系列Altera FPGA,MSEL区别除外)-来自altera论坛
    [转]STM32正交编码器驱动电机
    [转]使用D触发器制作正交编码器的鉴相电路
    [转]解决STM32开启定时器时立即进入一次中断程序问题
    [转]ISE iMPACT bit生成mcs
    [转]NiosII处理器软件代码优化方法
  • 原文地址:https://www.cnblogs.com/linjiangxian/p/11459683.html
Copyright © 2011-2022 走看看