【问题标题】:VideoJS Flash Fallback Not Working When Dynamically Changing SourceVideoJS Flash 回退在动态更改源时不起作用
【发布时间】:2014-01-30 18:30:07
【问题描述】:

我的视频无法在 Firefox 中播放时遇到问题。我正在尝试动态更新一个video 元素的源以播放多个视频,而无需在每次调用我的函数时重新创建元素。

例如,第一次单击使video source = video1.mp4,下一次单击保持video 播放器,但更改 source = video2.mp4 而不重新创建元素。

我这样做的原因是只需要为所有浏览器使用一种文件类型。我意识到我可以在video 元素下创建另一个source 标签,并给它一个video/ogg 的MIME 类型,它可以在Firefox 中与HTML5 一起使用,但我希望有一个通用格式来减轻我的负担用户。

我可以让它在 chrome 中完美运行,但是当更改为 firefox 时,flash 播放器只播放第一个视频源 由于某种原因变得未定义。

首先,我在灯箱中创建了一个视频元素。灯箱是通过一个称为 onclick 锚标记的函数打开的。打开灯箱时,我初始化视频的 videojs 播放器,然后将其源设置为传递给函数的 URL。然后我加载播放器并播放它。这在带有 HTML5 的 chrome 中工作得非常好,但在 Firefox 中,flash 回退工作一次然后中断。

我正在阅读有关该问题的信息,并认为我的问题可能是 Flash 将 video 元素转换为 Flash object,然后当我尝试再次引用具有相同 ID 的视频时,它不是找到,因为它不再作为 video 元素存在。

这是一个代码示例:http://jsfiddle.net/7WTrh/12/

我在 chrome 中测试过,它可以工作,但 firefox 不能。

提前感谢您的帮助。

【问题讨论】:

    标签: html flash firefox video.js


    【解决方案1】:

    当您更改源时,您需要确保您也传递了 mime 类型,因此 video.js 知道它需要什么技术。

    myPlayer.src({ src: "vid.mp4", type: "video/mp4" });
    

    【讨论】:

    • 我编辑了小提琴,但现在 Firefox 说 URI 无效,而 chrome 可以正常播放第一个视频。我可以直接导航到第一个 URI,但视频元素不支持它。 jsfiddle.net/7WTrh/14
    最近更新 更多