ExoPlayer、MediaController)时,添加 so.kontext:video-media3 并直接交给 SDK;见 Media3 播放器:
TTVideoEngine)时,添加 so.kontext:video-ttsdk,并以同样方式交给引擎:ads.track(engine);见 TTSDK 播放器。
使用其他播放器时,实现 VideoAdsPlayer:它的位置(毫秒),以及它是否在播放。缓冲和拖动进度都算作播放。
addListener 和 removeListener,并在每次变化时调用 VideoAdsPlayer.Listener(onIsPlayingChanged、onSeek、onContentChanged):观众一暂停叠加广告就会结束。否则叠加广告在屏幕上期间 SDK 每秒检查 isPlaying 四次。SDK 持有适配器直到 destroy() 或下一次 track,所以让适配器弱持有你的播放器。
在这一集开始播放时调用 track,而不是在创建 VideoAds 时:在那之前播放器的时间属于上一集。在那之前 SDK 发送 0,这对预取来说是正确的。