我有一个带有嵌入音轨的流。我也在尝试侧载字幕轨道。我通过 Exoplayer 实现了这一点。当我在投射时尝试做同样的事情时,我遇到了奇怪的行为。不知道出了什么问题,因为我觉得我正确地遵循了文档。以下是我构建曲目的方式:
MediaTrack.Builder(index+1L, MediaTrack.TYPE_TEXT)
.setName(name)
.setSubtype(MediaTrack.SUBTYPE_CAPTIONS)
.setContentId(url)
.setLanguage(lang)
.build()
然后对于我的实际 MediaInfo:
MediaInfo.Builder(url)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType(mimeType)
.setMetadata(metadata)
.setStreamDuration(msDuration)
.setMediaTracks(mediaTracks)
.build()
我也在构建 MediaLoadOptions:
MediaLoadOptions.Builder()
.setAutoplay(autoPlay)
.setPlayPosition(position)
.build()
我正在通过以下方式加载所有这些:
remoteMediaClient.load(mediaInfo, mediaLoadOptions)
以下是问题:
- 如果开始位置不是 0,那么我的字幕轨道甚至不会出现在对话框选择器中。
- 如果字幕轨道没有通过,则音轨选择工作正常
- 如果确实通过了字幕轨道(位置为 0),则选择字幕轨道不会执行任何操作,并且选择音轨会导致播放错误的轨道。