2

在 HTML5 中,是否有一种简单的方法可以将音频剪辑组合在一起?我希望连续播放 3 首极短的 mp3,但不幸的是,它们之间没有延迟是关键。我还需要为所有这些设置一个播放按钮。感谢知道的人,

ñ

4

1 回答 1

3

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

HTML:

<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:

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/

于 2013-06-01T16:15:17.383 回答