javascript - 只有在缓冲完整的视频后才开始播放 HTML5 视频

标签 javascript html video model-view-controller

有没有一种方法可以让我仅在缓冲整个视频 (100%) 后才开始播放我的 HTML5 MP4 视频。当它处于缓冲过程中时,我应该显示加载屏幕。请帮忙。此代码应适用于 Firefox 和 IE11。

超链接标题示例: - 播放视频 1:最喜欢的食物 - 播放视频 1:最喜欢的蔬菜 - 播放视频 2:最喜欢的动物

这是我单击超链接和视频标签时的代码。我从数据库动态加载视频。属性“pos”以秒为单位告诉玩家必须寻找游戏的时间。

<video id="VideoContainer" controls="controls" style="width:500px;height:320px" preload="auto">
<source id="VideoData" src=@Model.IntroVideoPath type="video/mp4" />
Your browser does not support the video tag.

<a onclick="navVideo('@items.FileName','@items.StartSec');">@items.DisplayText</a>

 function navVideo(fileName, pos) {
    //Get Player and the source
    var player = document.getElementById('VideoContainer');
    var mp4Vid = document.getElementById('VideoData');
    var mp4CurVid = $(mp4Vid).attr('src');

    //Reload the player only if the file name changes
    if (mp4CurVid != fileName) {            
        $(mp4Vid).attr('src', fileName);
        player.load();

        player.play();
        if (pos != 0) {
            setTimeout(function () {
                player.currentTime = pos;
                player.play();
            }, 1000);
        }
    }
    else {
        player.pause();
        player.currentTime = pos;
        player.play();
    }

最佳答案

问题出在该 MP4 文件的编码技术上。我使用不同的设置(Mp4 的随机设置选项)进行编码,最后让它在没有缓冲区的情况下工作。

关于javascript - 只有在缓冲完整的视频后才开始播放 HTML5 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33401810/

相关文章:

css - 如何从嵌入视频中删除边框(squarespace)

Javascript 修复我的 flatten(array) 函数

javascript - 用于切换 css 动画暂停的按钮 |运行播放状态

jquery - 当访问者选项卡选择元素时如何更改样式?

video - 如何给mp4视频加水印?

javascript - 我如何在另一个 EC2 实例上运行部分代码

javascript - 如何修复 ChartJS 中超出限制的 y 轴值

javascript - 单击按钮后一段时间后自动隐藏标签

javascript - 无法过滤Vue js中的对象数组

javascript - 使用 jquery 检查字符串是否为空