Java ExoPlayer-在MergingMediaSource上引发无法识别的PutFormatException

Java ExoPlayer-在MergingMediaSource上引发无法识别的PutFormatException,java,android,exoplayer,exoplayer2.x,Java,Android,Exoplayer,Exoplayer2.x,我正在使用ExoPlayer从外部存储播放视频。在我的用例中,一些视频有单独的音频文件。所以我需要合并它们才能玩。当我使用MergingMediaSource时,它抛出UnrecognedInputFormatException 这是我的密码 MediaSource videoSource = new ExtractorMediaSource(videoUri, dataSourceFactory, extractorsFactory, null, null); MediaSource audi

我正在使用ExoPlayer从外部存储播放视频。在我的用例中,一些视频有单独的音频文件。所以我需要合并它们才能玩。当我使用MergingMediaSource时,它抛出UnrecognedInputFormatException

这是我的密码

MediaSource videoSource = new ExtractorMediaSource(videoUri, dataSourceFactory, extractorsFactory, null, null);
MediaSource audioSource = new ExtractorMediaSource(audioUri, dataSourceFactory, extractorsFactory, null, null);
MergingMediaSource mergingMediaSource = new MergingMediaSource(videoSource, audioSource);
当我使用此mediaSource时,它会引发以下异常

2019-05-24 18:36:41.084 4283-4441/me.entri.entrime E/ExoPlayerImplInternal: Source error.
com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (MatroskaExtractor, FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor, Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor, PsExtractor, WavExtractor, AmrExtractor) could read the stream.
    at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractorHolder.selectExtractor(ExtractorMediaPeriod.java:973)
    at com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:891)
    at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:381)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
    at java.lang.Thread.run(Thread.java:761)
但当我试着分别播放它们时,效果很好