配置VideoJS Flash回退

Configure VideoJS Flash fallback

本文关键字:回退 Flash VideoJS 配置      更新时间:2023-09-26

由于Firefox不允许我在<video>-标记中使用.mp4文件,我不得不在我的VideoJS播放器上使用Flash回退。

对于Chrome、Safari和IE,我可以用javascript配置我的VideoJS播放器来做任何事情。例如,我喜欢循环5次,隐藏控件并将视频静音。HTML5版本没有问题:

// Initialize the video with some settings
videojs(videoID, { 
    "controls": false, 
    "autoplay": false,
    "preload":  "auto",
});
var myVideo = videojs(videoID);
// Set the counter
var loop_count = 1;
// Function to loop the video exaclty 5 times
var loopInstagramVideo = function() {
    if (loop_count <= 5) {
        myVideo.play();
        loop_count++;
    } else {
        loop_count = 1;
    }
};
// Function to manipulatie the playing video (mute, no controls,...)
var setVideoOptions = function() {
     myVideo.muted(1);
     myVideo.controls(0);
};
// Set functions on the video
myVideo.on("play", setVideoOptions);
myVideo.on("ended", loopInstagramVideo);

所以我想为Flash版本做同样的事情
上面的代码在videojs-调用上生成一个错误,错误为:

TypeError: The element or ID supplied is not valid. (videojs)

对如何解决这个问题有什么想法吗?

虽然这不是你"循环"问题的答案,但我自己发现,在对元素调用videojs()后,ID会发生变化。我不知道是元素的ID发生了变化,还是videojs调用的焦点发生了变化。ID无效的错误是由您的第一个和第二个videojs()调用引起的。

我会改变这个:

videojs(videoID, { 
    "controls": false, 
    "autoplay": false,
    "preload":  "auto",
});
var myVideo = videojs(videoID);

对此:

var myVideo = videojs(videoID);
myVideo.controls = false;
myVideo.autoplay = false;
myVideo.preload = "auto";

或者将这些属性放入视频标签本身。