TXVodPlayer,LiteAV)时,一次调用加上播放监听中的一行代码,就能把这些都交给 SDK。
添加适配器
- 播放器 SDK 11.0 或更高版本(
TXVodPlayer,包含它的任何 LiteAV 版本)。 - 不包含播放器 SDK。 适配器使用你应用自己的播放器 SDK 和你的授权;它不会向你的构建添加任何 LiteAV 构件。
- R8: 适配器不需要你添加任何规则。请保留播放器 SDK 集成指南中它自己的规则(
-keep class com.tencent.** { *; }):没有它,经过混淆的应用会在创建播放器时中止。
跟随播放器
startVodPlay)之后、剧集开始时调用。SDK 弱持有播放器,并在 ads.destroy() 或下一次 track 时放开。
currentItem 可选:这个播放器上你的剧集(它的 id),用于一个播放器先后播放多集的情况。不提供时,播放器本身就是这一集。无论哪种方式,视频播放到结尾或循环的下一轮都算作另一次播放。
转交播放事件
TXVodPlayer 只有一个监听器,即你的(setVodListener),SDK 不会占用它。在你的 onPlayEvent 中把每个播放事件原样转交:
isPlaying(),并根据位置推断拖动。没有被任何 VideoAds 跟随的播放器的事件会被忽略,因此请转交每个播放器的每个事件。
在信息流中
短剧信息流通常为每一页提供自己的TXVodPlayer。为每一页创建自己的 VideoAds,并在该页的播放器拿到播放源后跟随它:
INTERRUPTED),以便下一页的广告可以展示。预先准备并暂停的相邻页面不算播放,因此不会在其上展示叠加广告。
暂停与缓冲
播放器 SDK 不会为暂停发送事件。叠加广告或暂停广告在屏幕上时,SDK 每秒读取四次isPlaying(),并在每次 show 时读取,因此叠加广告会在 pause() 后四分之一秒内结束。播放器卡顿加载时 isPlaying() 仍为 true,因此缓冲算作播放,叠加广告会保留。
播放速度
播放器 SDK 没有读取速度的方法。观众改变速度时(setRate)告诉 SDK,这样叠加广告的时长才能正确按视频秒数计算:
SDK 读取什么
此后,一旦播放器播放另一集或重新播放这一集,该
VideoAds 的叠加广告或暂停广告会在 show 时抛出 Invalidated(ContentChanged)。