如何在ExoPlayer中设置直播视频播放的开始和结束时间

问题描述 投票:0回答:1

您好,我有一个直播电视节目,从 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
android exoplayer android-media3
1个回答
0
投票

这取决于您的后端如何在 HLS 清单中发送时间线信息。

如果流开始时间为 0,那么您可以添加偏移值以在 UI 中显示。

tranformedContentDuration = 8*60*60 + player.contentPosition

setMinOffsetMs
setMaxOffsetMs
有不同的用途。玩家使用它们来确定理想的实时优势。

© www.soinside.com 2019 - 2024. All rights reserved.