使用 ExoPlayer我正在尝试同时播放两个音轨。
我的想法是创建两个 MediaSource , 并使用 MergingMediaSource 在它们之间“组合” .
这就是我所做的:
Uri uriAudio1 = Uri.parse(AUDIO_URL_1);
Uri uriAudio2 = Uri.parse(AUDIO_URL_2);
MediaSource audioSource1 = new ExtractorMediaSource(uriAudio1, dataSourceFactory, extractorsFactory, mainHandler, null);
MediaSource audioSource2 = new ExtractorMediaSource(uriAudio2, dataSourceFactory, extractorsFactory, mainHandler, null);
MergingMediaSource mergedAudioSource = new MergingMediaSource(audioSource1, audioSource2);
mPlayer.prepare(mergedAudioSource);
但是,我没有同时听到两个音轨,而是只听到第一个
audioSource1 .
有任何想法吗?谢谢!
请您参考如下方法:
尝试像这样设置 channel 数
val trackSelector = DefaultTrackSelector()
trackSelector.setParameters(
trackSelector.buildUponParameters()
.setMaxVideoSizeSd()
.setMaxAudioChannelCount(2)
)




