ExoPlayerImplInternal io.ionic.starter E Playback error
androidx.media3.exoplayer.ExoPlaybackException: Source error
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:652)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:622)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:214)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: androidx.media3.exoplayer.source.UnrecognizedInputFormatException: None of the available extractors (FlvExtractor, FlacExtractor, WavExtractor, FragmentedMp4Extractor, Mp4Extractor, AmrExtractor, PsExtractor, OggExtractor, TsExtractor, MatroskaExtractor, AdtsExtractor, Ac3Extractor, Ac4Extractor, Mp3Extractor, AviExtractor, JpegExtractor) could read the stream.
at androidx.media3.exoplayer.source.BundledExtractorsAdapter.init(BundledExtractorsAdapter.java:94)
at androidx.media3.exoplayer.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1018)
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:414)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
< /code>
Как решить это
Source Error. Caused by: androidx.media3.exoplayer.source.UnrecognizedInputFormatException: None of the available extractors (FlvExtractor, FlacExtractor, WavExtractor, FragmentedMp4Extractor, Mp4Extractor, AmrExtractor, PsExtractor, OggExtractor, TsExtractor, MatroskaExtractor, AdtsExtractor, Ac3Extractor, Ac4Extractor, Mp3Extractor, AviExtractor, JpegExtractor) could read the stream.
проблема ?? Итак, я использовал extension_renderer_mode_prefer , чтобы предпочесть ffmpegaudenderer , чем MediaCodecrenderer для обработки потоковой передачи аудио. После этого проблема с AAC, ALAC, M4A исправлено, но у AIFF все еще есть проблема.
ниже, я предоставляю код моего проекта. < /P>
Я пытаюсь сделать ионную плагин Cordova, используя Androidx Media3 Exoplayer для Android.[code]ExoPlayerImplInternal io.ionic.starter E Playback error androidx.media3.exoplayer.ExoPlaybackException: Source error at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:652) at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:622) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: androidx.media3.exoplayer.source.UnrecognizedInputFormatException: None of the available extractors (FlvExtractor, FlacExtractor, WavExtractor, FragmentedMp4Extractor, Mp4Extractor, AmrExtractor, PsExtractor, OggExtractor, TsExtractor, MatroskaExtractor, AdtsExtractor, Ac3Extractor, Ac4Extractor, Mp3Extractor, AviExtractor, JpegExtractor) could read the stream. at androidx.media3.exoplayer.source.BundledExtractorsAdapter.init(BundledExtractorsAdapter.java:94) at androidx.media3.exoplayer.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1018) at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:414) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:919) < /code> Как решить это Source Error. Caused by: androidx.media3.exoplayer.source.UnrecognizedInputFormatException: None of the available extractors (FlvExtractor, FlacExtractor, WavExtractor, FragmentedMp4Extractor, Mp4Extractor, AmrExtractor, PsExtractor, OggExtractor, TsExtractor, MatroskaExtractor, AdtsExtractor, Ac3Extractor, Ac4Extractor, Mp3Extractor, AviExtractor, JpegExtractor) could read the stream.[/code] проблема ?? Итак, я использовал extension_renderer_mode_prefer , чтобы предпочесть ffmpegaudenderer , чем MediaCodecrenderer для обработки потоковой передачи аудио. После этого проблема с AAC, ALAC, M4A исправлено, но у AIFF все еще есть проблема. ниже, я предоставляю код моего проекта. < /P> [code]DataSource.Factory dataSourceFactory = new ResolvingDataSource.Factory(httpDataSourceFactory, dataSpec -> dataSpec.withRequestHeaders(getHeaders(accessToken, dataSpec.uri.toString()))); DefaultRenderersFactory renderersFactory = new DefaultRenderersFactory(context).setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER); player = new ExoPlayer.Builder(context, renderersFactory) .setMediaSourceFactory(new DefaultMediaSourceFactory(dataSourceFactory)) .setLoadControl(loadControl) .build();
// some unimportant part...
List mediaSources = new ArrayList(); if (trackUrl.startsWith("https")) { // If audio track is online source Log.d(TAG, "Creating ProgressiveMediaSource for: " + trackUrl); DataSource.Factory resolvingDataSourceFactory = new ResolvingDataSource.Factory(httpDataSourceFactory, dataSpec -> dataSpec.withRequestHeaders(getHeaders(headerToken, dataSpec.uri.toString())));
ProgressiveMediaSource progressiveMediaSource = new ProgressiveMediaSource.Factory(resolvingDataSourceFactory).createMediaSource(MediaItem.fromUri(trackUrl));
mediaSources.add(progressiveMediaSource); } else { Log.d(TAG, "Creating MediaItem for local file: " + trackUrl); MediaItem mediaItem = MediaItem.fromUri(trackUrl); MediaSource mediaSource = new DefaultMediaSourceFactory(context).createMediaSource(mediaItem); mediaSources.add(mediaSource); }
player.setMediaSources(mediaSources);
public void playTrackByIndex(int index, long seekPosition) { player.seekTo(index, seekPosition); player.prepare(); player.play(); } [/code] Я ожидаю, что все файлы медиа/аудио -треков, включая формат AIFF, будут нормально работать без этих ошибок в Exoplayer.