我试图使用video.js插件(称为videojs-contrib-hls)在不同浏览器上实现hls回放。即使使用了所需的'overrideNative'参数,我也无法覆盖Safari上的本机hls行为:
videojs.options.hls.overrideNative = true;
videojs.options.html5.nativeAudioTracks = false;
videojs.options.html5.nativeVideoTracks = false;
我在Safari上遇到以下错误:“覆盖原生HLS需要模拟轨道。请参阅https://git.io/vMpjB”
有没有其他的解决方法强制videojs-contrib-hls超过任何原生播放特别是在Safari中,因为使用原生的safari hls我们得到的其他问题很少,我们想让玩家在不同的浏览器中保持连贯性?另外,请参考以下机票:https://github.com/videojs/videojs-contrib-hls/issues/1005
videojs-contrib-hls由videojs-http-streaming继承。 VHS支持HLS和DASH,内置于video.js 7中
当使用videojs版本> = 7时,您可以使用播放器对象覆盖safari的原生hls播放器:
currentPlayer.ready(function() {
this.src({
src: 'https://example.com/hlsfile.m3u8',
type: 'application/x-mpegURL',
withCredentials: false,
});
});
初始化:
currentPlayer = videojs('playerid', {
html5: {
nativeAudioTracks: false,
nativeVideoTracks: false,
hls: {
overrideNative: true,
}
}
});