使用JS变量(ubernewb)进行音频暂停/播放

时间:2014-10-04 05:47:38

标签: javascript html variables audio

我正在开发一个包含侧边栏中的媒体(mp3)播放器的简单项目。我可以通过视觉切换来播放/暂停按钮,我可以通过为另一个图像分配href来关闭音频但是当试图让交换的图像暂停音频时,我似乎无法弄明白,这是我的代码..

编辑:删除了枪支代码

编辑:找出三种方法来实现这一点,下面两个人发布了很好的方法,但我也想出了如何通过jquery粗略地做到这一点。

$('#left-05-pause_').click(function(){
    $('#left-05-pause_').hide();
    $('#left-05-play_').show();
    }); 

$('#left-06-audio_').click(function(){
    audio.volume = 1;
    $('#left-06-audio_').hide();
    $('#left-06-mute_').show();
    });

2 个答案:

答案 0 :(得分:0)

你可以试试这个

<a href="#">
<img src="http://royaltrax.com/aadev/images/left/images/left_05.png" id="imgPauseChange" onclick="changeImage()">
</a>
<script language="javascript">
    function changeImage() {

        if (document.getElementById("imgPauseChange").src == "http://royaltrax.com/aadev/images/left/images/left_05.png")
        {
            document.getElementById("aud").play();
            document.getElementById("imgPauseChange").src = "http://royaltrax.com/aadev/images/left/images/left_05-pause.png";

         }
        else 
        {
            document.getElementById("aud").pause();
            document.getElementById("imgPauseChange").src = "http://royaltrax.com/aadev/images/left/images/left_05.png";
        }
    }
</script>

答案 1 :(得分:0)

米奇,我有三点意见:

  • 无需在<a>
  • 周围包裹<img>
  • 表示避免过度使用选择元素(如getElementById),因为一旦选择了元素的链接,就将其放入变量并再次使用以访问相同的元素
  • 使用有关元素状态的原生信息(在此示例中为<audio>) - 探索其属性

总而言之,只需尝试下一个示例(为了清晰起见,文件名已被更改):

<body>
  <audio id="audioId">
    <source src="song.mp3" type="audio/mp3" />
  </audio>
  <img id="imageId" src="play.png" onclick="toggle()" />
  <script>
    var audio = document.getElementById( 'audioId' )
      , image = document.getElementById( 'imageId' )

    function toggle()
    {
      if ( audio.paused )
      {
        image.src = 'pause.png'
        audio.play()
      }
      else
      {
        image.src = 'play.png'
        audio.pause()
      }
    }
  </script>  
</body>