使用 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) 
            ) 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!