Как воспроизводить AIFF Format Audio File в Androidx Media3 Exoplayer?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как воспроизводить AIFF Format Audio File в Androidx Media3 Exoplayer?

Сообщение Anonymous »

Я пытаюсь сделать ионную плагин Cordova, используя Androidx Media3 Exoplayer для Android.

Код: Выделить всё

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>

Код: Выделить всё

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();
}
Я ожидаю, что все файлы медиа/аудио -треков, включая формат AIFF, будут нормально работать без этих ошибок в Exoplayer.


Подробнее здесь: https://stackoverflow.com/questions/791 ... -exoplayer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»