Ошибка воспроизведения потока на Android 9 и 10 с exoplayer - PullRequest
1 голос
/ 05 октября 2019
String prp = "http://stream.dedyn.io:8000/dsbmradio.opus";

работает до android 8, но не работает на 9 или 10. следуйте коду, который я использую

BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter));
exoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector);
Uri videoURI = Uri.parse(prp);
DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory("exoplayer_video");
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
MediaSource mediaSource = new ExtractorMediaSource(videoURI, dataSourceFactory, extractorsFactory, null, null);

exoPlayerView.setPlayer(exoPlayer);
exoPlayer.prepare(mediaSource);
exoPlayer.setPlayWhenReady(true);

это ошибка, сгенерированная

E/ExoPlayerImplInternal: Source error.
com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException: Unable to connect to http://rfmbrasil.servemp3.com:8000/uespi.ogg

1 Ответ

0 голосов
/ 09 октября 2019

Поскольку вы используете URL-адрес «http», вы не можете воспроизводить видео на устройствах Android и выше 9.

Начиная с Android 9 (уровень API 28), поддержка открытого текста по умолчанию отключена.

Посмотрите ответ ниже для получения дополнительной информации

https://stackoverflow.com/a/50834600/7398620

...