HTML 5 视频或音频播放列表

IT技术 javascript html audio video
2021-01-21 18:20:45

我可以使用<video><audio>标签来播放播放列表并控制它们吗?

我的目标是知道视频/歌曲何时播放完毕并播放下一个并更改其音量。

6个回答

你可以像这样在 onend 事件中加载下一个剪辑

<script type="text/javascript">
var nextVideo = "path/of/next/video.mp4";
var videoPlayer = document.getElementById('videoPlayer');
videoPlayer.onended = function(){
    videoPlayer.src = nextVideo;
}
</script>
<video id="videoPlayer" src="path/of/current/video.mp4" autoplay autobuffer controls />

更多信息在这里

我认为您所要做的就是创建一个 URL 数组(我们称之为 myArray),创建一个 var i = 1,最初将 nextVideo 设置为 myArray[0],然后在 videoPlayer.src = nextVideo 下;把 nextVideo = myArray[i]; 我++; 这样每次当前视频结束时,都会加载下一个视频,并且下一个 url 将准备就绪。附注。抱歉完全没有格式,我正在工作,只是想快速回答这个问题
2021-03-19 18:20:45
这不只是播放 2 个文件吗,比如说播放 10 个音频文件怎么样?
2021-03-22 18:20:45
对于那些希望在第二个视频结束后循环到第一个视频的人来说,这里是对上述答案的一个非常简单的改编:<script> var nextVideo = ["path/of/current/video.mp4","path/of/下一个/video.mp4"]; var curVideo = 0; var videoPlayer = document.getElementById('videoPlayer'); videoPlayer.onended = function(){ if(curVideo == 0){ videoPlayer.src = nextVideo[1]; curVideo = 1; } else if(curVideo == 1){ videoPlayer.src = nextVideo[0]; curVideo = 0; </script> 小提琴:jsfiddle.net/P38aV
2021-03-23 18:20:45

我在这里创建了一个 JS 小提琴:

http://jsfiddle.net/Barzi/Jzs6B/9/

首先,您的 HTML 标记如下所示:

<video id="videoarea" controls="controls" poster="" src=""></video>

<ul id="playlist">
    <li movieurl="VideoURL1.webm" moviesposter="VideoPoster1.jpg">First video</li>
    <li movieurl="VideoURL2.webm">Second video</li>
    ...
    ...
</ul>

其次,通过 JQuery 库编写的 JavaScript 代码将如下所示:

$(function() {
    $("#playlist li").on("click", function() {
        $("#videoarea").attr({
            "src": $(this).attr("movieurl"),
            "poster": "",
            "autoplay": "autoplay"
        })
    })
    $("#videoarea").attr({
        "src": $("#playlist li").eq(0).attr("movieurl"),
        "poster": $("#playlist li").eq(0).attr("moviesposter")
    })
})​

最后但并非最不重要的是,您的 CSS:

#playlist {
    display:table;
}
#playlist li{
    cursor:pointer;
    padding:8px;
}
#playlist li:hover{
    color:blue;                        
}
#videoarea {
    float:left;
    width:640px;
    height:480px;
    margin:10px;    
    border:1px solid silver;
}​
好吧,这不是播放列表,而是手动选择曲目
2021-04-11 18:20:45

我稍微优化了来自cameronjonesweb 的javascript 代码。现在您可以将剪辑添加到数组中。其他一切都是自动完成的。

<video autoplay controls id="Player" src="http://www.w3schools.com/html/movie.mp4" onclick="this.paused ? this.play() : this.pause();">Your browser does not support the video tag.</video>

<script>
var nextsrc = ["http://www.w3schools.com/html/movie.mp4","http://www.w3schools.com/html/mov_bbb.mp4"];
var elm = 0; var Player = document.getElementById('Player');
Player.onended = function(){
    if(++elm < nextsrc.length){         
         Player.src = nextsrc[elm]; Player.play();
    } 
}
</script>
此外,您必须添加videoPlayer.play()下一首歌曲以在 Microsoft Edge 中自动播放。
2021-03-29 18:20:45
如果您添加以下内容,您可以简单地列出数组中的所有多媒体文件(与将第一个编码为元素上的 src attr 相比。 if(!audioPlayer.src){ audioPlayer.src = nextSong[currentSong]; }
2021-03-31 18:20:45
不幸的是,不能在视频元素中使用“循环”属性。
2021-04-01 18:20:45

你应该看看 Popcorn.js - 一个与 Html5 交互的 javascript 框架:http ://popcornjs.org/documentation

jPlayer 是一个免费的开源 HTML5 音频和视频库,您可能会发现它很有用。它支持内置的播放列表:http : //jplayer.org/