ExoPlayer:如何只搜索当前播放的曲目之一?

ExoPlayer: How to seek into just one of currently playing tracks?

我有一个用 4 个轨道初始化的 ExoPlayer 实例。其中 2 个是 MediaCodecVideoTrackRenderer 实例,每个实例都有自己的 ExtractorSampleSource。

我想从中间开始播放其中一首曲目。

我一直等到收到 MSG_PLAYER_STATE_READY 消息才能获取音轨的持续时间,然后在示例源上调用 seektoUs(也尝试在渲染器上调用 seekTo),但两者给出不可预测的结果。

在其余曲目从头开始播放的同时搜索单个曲目的正确方法是什么?

通过覆盖我的自定义 TrackRenderer 的 doSomeWork 方法并根据我需要的逻辑使用自定义 positionUs 调用 super.doSomeWork 设法解决了这个问题。