首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按顺序播放声音HTML5

按顺序播放声音HTML5
EN

Stack Overflow用户
提问于 2013-06-01 23:56:25
回答 1查看 1.2K关注 0票数 2

在HTML5中,有没有一种简单的方法将音频片段分组在一起?我希望按顺序玩3个非常短的mp3s,但不幸的是,它们之间没有延迟。我还需要有一个播放按钮为所有他们。感谢任何知道的人,

N

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-02 00:15:17

你不能完全用HTML5来做到这一点,你需要添加jQuery或者其他javascript库来帮助你实现这一点。我最近创建了一个使用this教程作为起点的移动web应用程序。您可以查看示例here。基本上,您需要做的就是修改HTML5音频播放器的默认功能,然后让它做您想做的事情。

HTML:

代码语言:javascript
复制
<audio id="audio" preload="auto" tabindex="0" controls="" >
    <source src="http://www.archive.org/download/bolero_69/Bolero.mp3">
    Your Fallback goes here
</audio>

<ul id="playlist">
        <li class="active">
            <a href="http://www.archive.org/download/bolero_69/Bolero.mp3">
                Ravel Bolero
            </a>
        </li>
        <li>
            <a href="http://www.archive.org/download/MoonlightSonata_755/Beethoven-MoonlightSonata.mp3">
                Moonlight Sonata - Beethoven
            </a>
        </li>
        <li>
            <a href="http://www.archive.org/download/CanonInD_261/CanoninD.mp3">
                Canon in D Pachabel
            </a>
        </li>
        <li>
            <a href="http://www.archive.org/download/PatrikbkarlChamberSymph/PatrikbkarlChamberSymph_vbr_mp3.zip">
                patrikbkarl chamber symph
            </a>
        </li>
</ul>

jQuery:

代码语言:javascript
复制
var audio;
var playlist;
var tracks;
var current;

init();
function init(){
    current = 0;
    audio = $('audio');
    playlist = $('#playlist');
    tracks = playlist.find('li a');
    len = tracks.length - 1;
    audio[0].volume = .10;
    playlist.find('a').click(function(e){
        e.preventDefault();
        link = $(this);
        current = link.parent().index();
        run(link, audio[0]);
    });
    audio[0].addEventListener('ended',function(e){
        current++;
        if(current == len){
            current = 0;
            link = playlist.find('a')[0];
        }else{
            link = playlist.find('a')[current];    
        }
        run($(link),audio[0]);
    });
}
function run(link, player){
        player.src = link.attr('href');
        par = link.parent();
        par.addClass('active').siblings().removeClass('active');
        audio[0].load();
        audio[0].play();
}

来源:http://blog.lastrose.com/html5-audio-video-playlist/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16874529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档