Joe*_*sky 13 javascript mobile android http-live-streaming
我想检测手机/平板电脑是否可以播放HTTP直播(m3u8).
我目前正在使用此脚本进行测试:
function isHLSEnabled() {
var videoElement = document.createElement('video'),
canPlayAppMpeg = videoElement.canPlayType('application/x-mpegURL'),
canPlayAppleMpeg = videoElement.canPlayType('vnd.apple.mpegURL');
return (
(canPlayAppMpeg == 'probably' || canPlayAppMpeg == 'maybe')
|| (canPlayAppleMpeg == 'probably' || canPlayAppleMpeg == 'maybe')
);
}
Run Code Online (Sandbox Code Playgroud)
但它在某些三星浏览器(股票,海豚等)上效果不佳 - 它返回false(因为canPlayTypes是空字符串)但是它能够播放视频.
是否有任何防弹(ish)解决方案可用于检测此类流媒体支持?
我不确定目前是否有可用的防弹解决方案。
使用视频元素的canPlayType方法是唯一真正“有效”的方法。现代浏览器支持大约+/- 5/6 的媒体格式。
所以基本上你创建了一个你想要支持的格式列表并从中进行测试。该canPlayType方法还允许您指定哪个编解码器。您应该这样做,因为仅测试 WebM 可能不会产生所需的结果,例如:
element.canPlayType('video/webm; codecs="vp9"')。
执行此操作后,您通常应该得到三种不同的响应:“可能”、“mabye”或“”(空字符串含义:不支持)。
您可能会发现一些有用的资源:
Mozilla 提供了主流格式/编解码器的列表:
Modernizr 是一个将测试对大多数 html5 视频格式的支持的框架。您可能还想查看他们的 html5 视频检测源代码。
| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |