Tom*_*m11 5 android stream audio-streaming exoplayer
我有这种类型的流:http://radiohoryzont.jgora.pl:8050.问题是,当我尝试使用ExoPlayer播放它时,抛出以下异常.
E/ExoPlayerImplInternal:内部轨道渲染器错误.com.google.android.exoplayer.ExoPlaybackException:com.google.android.exoplayer.upstream.HttpDataSource $ HttpDataSourceException:无法连接到http://radiohoryzont.jgora.pl:8050
奇怪的是,在另一部手机上,它似乎正在运行(它适用于Android 6,但不适用于Android 4).有人可以帮我这个吗?
我正在使用EMAudioPlayer.
mediaPlayer = new EMAudioPlayer(getApplicationContext());
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myURI);
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
我最近一直在解决同样的问题,并找到了解决方案.
您失败的URL是ShoutCast,这些HttpDataSource在Android 4上运行不正常.但是如果您设法替换它OkHttpDataSource,将正确检索数据.
您正在使用EMAudioPlayer,ExoPlayer用于流式传输音乐(适用于API级别16+).您可以轻松替换HttpDataSource为OkHttpDataSource:
TrackSelector trackSelector = new DefaultTrackSelector(
new Handler(),
new AdaptiveVideoTrackSelection.Factory(
new DefaultBandwidthMeter()
)
);
mediaPlayer = ExoPlayerFactory.newSimpleInstance(
getApplicationContext(),
trackSelector,
new DefaultLoadControl()
);
MediaSource source = new ExtractorMediaSource(
myURI,
new OkHttpDataSourceFactory(
new OkHttpClient(),
userAgent,
null
),
new DefaultExtractorsFactory(),
null,
null
);
mediaPlayer.prepare(source);
mediaPlayer.setPlayWhenReady(true);
| 归档时间: |
|
| 查看次数: |
4562 次 |
| 最近记录: |