我想实现执行以下操作的自定义CAF接收器:
这些功能可以正常运行。当我在播放广告后播放直播时,播放器会引发以下错误:
Uncaught DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.
at Hh.fk (http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js:149:315)
at yc (http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js:30:291)
at SourceBuffer.vc (http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js:31:343)
at SourceBuffer.b (http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js:28:245)
然后出现此错误:
[cast.player.api.Host] error: cast.player.api.ErrorCode.PLAYBACK/104
错误104表示播放器不支持该来源,但是由于流在没有广告的情况下也可以正常播放,因此这不是问题。这很可能是上述SourceBuffer错误引起的副作用。
我确信,错误原因是广告SDK用于显示前贴片视频的video
元素。广告SDK将添加元素,播放广告,然后再删除该元素。
我尝试了以下操作:
video
将cast-media-player
中的context.getPlayerManager().setMediaElement(...)
元素设置为当前播放元素。cast-media-player
并将其添加到正文中。然后请求流播放。以上都不起作用。
是否可以重置或重新初始化播放器以使用cast-media-player
元素?
请注意,CAF接收器支持的广告拼接超出了范围,因为对外部广告SDK的要求很高。