谢谢@Skymt。
我找不到返回可播放格式的方法。但是此链接可能会帮助您提供更好的回退(在回退选项下检查):
https ://developer.mozilla.org/en-US/docs/Web/HTML/Using_HTML5_audio_and_video#Showing_fallback_content_when_no_source_could_be_decoded
我正在使用videojs,这是我的 javascript 代码:
videojs("videoViewer", {playerFallbackOrder: ["html5", "flash", "links"]}, function(){});
var v = document.querySelector('video');
source = v.querySelector('source');
source.addEventListener('error', function(ev)
{
videojs("videoViewer", {playerFallbackOrder: ["flash", "html5", "links"]}, function(){});
}, false);
它与您在链接上找到的示例非常相似,唯一的区别是我只有 1 个源,并且我使用的是videojs。
那么当我尝试在 firefox 中播放 .mp4 时会发生什么?
- 我实例化videojs提供的html5视频播放器
- html5 视频播放器将显示一个错误,指出它无法读取此视频格式并触发错误事件
- 上面的代码将捕获错误事件
- 然后,我使用videojs更改其后备顺序选项来实例化 Flash 播放器。
它仅在Firefox中有效吗?
不,这适用于所有浏览器,即使是那些没有 html5 视频播放器的浏览器,因为videojs会自动回退到 Flash 版本。
它仅适用于 mp4 吗?
不,只要 html5 视频播放器触发错误,无论视频格式如何,这都会起作用。