在HTML5音频标签上使用javascript搜索栏处理

前端之家收集整理的这篇文章主要介绍了在HTML5音频标签上使用javascript搜索栏处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的代码如下
<header>
    <au@R_404_410@ src="friends_and_family_03.mp3" id="au@R_404_410@" controls></au@R_404_410@>
    <input type="range" step="any" id="seekbar"></input>
    <script>
        seekbar.value = 0;
        var au@R_404_410@ = document.getElementById("au@R_404_410@");

        var seekbar = document.getElementById('seekbar');
        function setupSeekbar() {
          seekbar.min = au@R_404_410@.startTime;
          seekbar.max = au@R_404_410@.startTime + au@R_404_410@.duration;
        }
        au@R_404_410@.ondurationchange = setupSeekbar;

        function seekAu@R_404_410@() {
          au@R_404_410@.currentTime = seekbar.value;
        }

        function updateUI() {
          var lastBuffered = au@R_404_410@.buffered.end(au@R_404_410@.buffered.length-1);
          seekbar.min = au@R_404_410@.startTime;
          seekbar.max = lastBuffered;
          seekbar.value = au@R_404_410@.currentTime;
        }
        seekbar.onchange = seekAu@R_404_410@;
        au@R_404_410@.ontimeupdate = updateUI;

    </script>
    <p>
        <button type="button" onclick="au@R_404_410@.play();">Play</button>
        <button type="button" onclick="au@R_404_410@.pause();">Pause</button>
        <button type="button" onclick="au@R_404_410@.currentTime = 0;"><< Rewind</button>
    </p>

</header>

这与http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/中的解释相同

我的问题是
1)不根据音频持续时间设置搜索条最大值. (搜索条宽度大约是音频持续时间的一半).
2)当音频播放时,搜索不显示任何进度,但如果你拖动搜索条,则currenTime实际上会改变.

任何人都可以帮我修改我的代码,以便它正常运行??

解决方法

如果你遇到同样的问题,这就是解决方案. (我是从另一个论坛得到的).只需添加以下两行:
au@R_404_410@.addEventListener('durationchange',setupSeekbar);
au@R_404_410@.addEventListener('timeupdate',updateUI);

或者也许我只是有点太愚蠢!大声笑

猜你在找的HTML5相关文章