首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置VideoJS闪存回退

配置VideoJS闪存回退
EN

Stack Overflow用户
提问于 2013-08-27 20:21:41
回答 1查看 1.2K关注 0票数 0

因为火狐不允许我在<video>-tag中使用.mp4文件,所以我不得不在我的VideoJS player上使用闪回。

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

代码语言:javascript
复制
// 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-call上生成了一个错误,错误为:

代码语言:javascript
复制
TypeError: The element or ID supplied is not valid. (videojs)

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

EN

回答 1

Stack Overflow用户

发布于 2013-10-02 02:39:12

虽然这不是您的“循环”问题的答案,但我自己发现,在对元素调用videojs()之后,ID会发生变化。不管是元素的ID改变,还是videojs调用的焦点改变,我都不知道。与ID无效相关的错误是由您的第一次和第二次videojs()调用引起的。

我会改变这一点:

代码语言:javascript
复制
videojs(videoID, { 
    "controls": false, 
    "autoplay": false,
    "preload":  "auto",
});

var myVideo = videojs(videoID);

要这样做:

代码语言:javascript
复制
var myVideo = videojs(videoID);

myVideo.controls = false;
myVideo.autoplay = false;
myVideo.preload = "auto";

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18465292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档