ExoPlayer стрим mp3 - PullRequest
       20

ExoPlayer стрим mp3

0 голосов
/ 07 декабря 2018

Я хочу воспроизвести URL в своем приложении, но при использовании библиотеки exoplayer выдает ошибку, а если я использую стандартный медиаплеер, все будет хорошо, и mp3 будет воспроизводиться.Пожалуйста, помогите мне найти мою ошибку и дайте полезную информацию.Спасибо.

Вот пример URL-адреса, он перенаправлен, но необходимо, чтобы exoplayer работал с ним: https://m.z1.fm/xxx-load/22346945?play=on

Это мой код

DefaultRenderersFactory renderersFactory = new DefaultRenderersFactory(context, null,
            DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF);
exoPlayer = ExoPlayerFactory.newSimpleInstance(context, renderersFactory, new DefaultTrackSelector());
DefaultHttpDataSourceFactory httpDataSourceFactory = new DefaultHttpDataSourceFactory(
                URLs.getUserAgentMobile(), new DefaultBandwidthMeter(),
                DefaultHttpDataSource.DEFAULT_CONNECT_TIMEOUT_MILLIS,
                DefaultHttpDataSource.DEFAULT_READ_TIMEOUT_MILLIS, true);
ExtractorMediaSource mediaSource mediaSource = 
                new ExtractorMediaSource.Factory(httpDataSourceFactory).createMediaSource(Uri.parse(urlTrack));
exoPlayer.prepare(mediaSource);
exoPlayer.setPlayWhenReady(true);

1 Ответ

0 голосов
/ 07 декабря 2018

Измените свой код и добавьте DefaultDataSourceFactory

DefaultExtractorsFactory extractorFactory = new DefaultExtractorsFactory();

DefaultBandwidthMeter BANDWIDTH_METER = new DefaultBandwidthMeter();

DataSource.Factory mediaDataSourceFactory =  new DefaultDataSourceFactory(this, (TransferListener<? super DataSource>) BANDWIDTH_METER, httpDataSourceFactory);

ExtractorMediaSource mediaSource mediaSource =  new ExtractorMediaSource.Factory(mediaDataSourceFactory).
setExtractorsFactory(extractorFactory).
createMediaSource(uri);
...