您好,我有一个直播电视节目,从 08:00 开始到 10:00 结束,我可以为 DefaultTimeBar 设置电视节目的开始和结束时间吗?
尝试过:
exoPlayerProgress.setDuration(60_000)
和
MediaItem.Builder()
.setUri(mUrl)
.setLiveConfiguration(
MediaItem.LiveConfiguration.Builder()
.setMaxPlaybackSpeed(1.02f)
.setTargetOffsetMs(System.currentTimeMillis())
.setMinOffsetMs(System.currentTimeMillis()-1800000)
.setMaxOffsetMs(System.currentTimeMillis() + 3600000)
.build()
)
.setMimeType(MimeTypes.APPLICATION_M3U8)
.build()
完整清单
#EXTM3U
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:5367
#EXT-X-PROGRAM-DATE-TIME:2023-08-17T09:49:39Z
#EXTINF:10, no desc
segment-1692212102-005367.ts
#EXTINF:10, no desc
segment-1692212102-005368.ts
#EXTINF:10, no desc
segment-1692212102-005369.ts
#EXTINF:10, no desc
segment-1692212102-005370.ts
#EXTINF:10, no desc
segment-1692212102-005371.ts
#EXTINF:10, no desc
segment-1692212102-005372.ts
这取决于您的后端如何在 HLS 清单中发送时间线信息。
如果流开始时间为 0,那么您可以添加偏移值以在 UI 中显示。
tranformedContentDuration = 8*60*60 + player.contentPosition
setMinOffsetMs
和 setMaxOffsetMs
有不同的用途。玩家使用它们来确定理想的实时优势。