【问题标题】:Looping through videos in HTML5循环播放 HTML5 中的视频
【发布时间】:2015-11-10 23:38:07
【问题描述】:

我有这个 JS 代码:

video_count =1;
videoPlayer = document.getElementById("homevideo");

function run(){
    video_count++;
    if (video_count == 4) video_count = 1;
    var nextVideo = "app/video"+video_count+".mp4";
    videoPlayer.src = nextVideo;
    videoPlayer.play();
};

我有两个视频要一个接一个地播放。视频播放良好 - 第一个视频播放结束后,第二个视频播放结束,但此代码循环播放第二个视频,而不是再次播放第一个视频,然后结束第二个视频等。

你能帮忙吗?

提前致谢, 亚尼夫

【问题讨论】:

  • .play()下面试试video_count++
  • 对不起,没用

标签: javascript html video


【解决方案1】:

使用ended事件再次触发run函数。

video_count =1;
videoPlayer = document.getElementById("homevideo");
function run(){
  if (video_count == 4) video_count = 1;
  var nextVideo = "app/video"+video_count+".mp4";
  videoPlayer.src = nextVideo;
  videoPlayer.play();
  video_count++;
};
videoPlayer.addEventListener('ended', run);

【讨论】:

    【解决方案2】:
    video_count =1;
    videoPlayer =     document.getElementById("homevideo");
    
    function run(){
        if (video_count > 2) video_count = 1;
        var nextVideo = "app/video"+video_count+".mp4";
        videoPlayer.src = nextVideo;
        videoPlayer.play();
        video_count++;
    };
    

    解决问题 在定义视频的文件名之前增加变量,所以你从两个开始...... 条件也需要更改,因为我们希望仅在显示第二个视频后将 videocount 设置为 1

    【讨论】:

    • 恐怕还是不行。也许问题出在 var nextVideo 上?当我声明路径时(例如)“youtube.com/12345”,然后是 +video_count+“.mp4”; - 第二个视频根本没有播放 - 我有黑屏。第二个视频仅在声明 var nextVideo = "youtube.com/12345"... 时播放
    • 这不是@YanivNoodelman 想要达到的目标。他正在尝试创建一个播放列表循环,其中nth 视频后跟n + 1th。请参阅我的答案以获得有效的解决方案。
    • 亲爱的@Oleander,您能否建议在浏览器不支持默认类型的情况下如何构建JS代码来播放同一视频的另一种类型?例如,如果不支持 .mp4,则播放相同的 .webm 类型的 vidwo。
    猜你喜欢
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    相关资源
    最近更新 更多