flv.js Android 全屏时出现媒体错误

flv.js Media error when fullscreen on Android

我使用 flv.js 在我的 android 设备上播放了一个 flv 流。在正常模式下播放时一切正常,除了当我切换到全屏模式时,播放 1 秒然后崩溃。 FlvPlayer 错误日志显示:

[MSEController] > Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.

如果我在出错时手动记录错误,即flvPlayer.on(flvjs.Events.ERROR, function(e)),对应的日志是:

e : MediaError
videoElement.error : MediaError {code: 3, message: "PIPELINE_ERROR_DECODE: video decode error"}

只有在全屏模式下才会出现这种情况,我将 document.body 设置为全屏

Edit:

如果我将 videoElement 设置为全屏,视频可以保持 运行,但它会缩小并一直闪烁,而且它上面的所有元素都消失了

显然添加 div 作为视频的父级可以提供帮助

在全屏模式下,div 标签需要具有以下样式:

height/width: browser-size //without this cannot see video as overflow is hidden
overflow: hidden
transform: rotate(0.000001deg) //known bug for chrome