ExoPlayer不适用于某些流
我有这种类型的流:http://radiohoryzont.jgora.pl:8050。 问题是,当我尝试使用ExoPlayer播放时,引发以下异常。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);
在此先感谢您的帮助。
我最近解决了同样的问题,并找到了解决方案。
从而未能为您提供的网址是Shoutcast的和这些不与HttpDataSource
在Android 4.如果你管理与OkHttpDataSource
替换此运作良好然而,数据将被正确检索。
您正在使用EMAudioPlayer
,它使用ExoPlayer
来传送音乐(API级别为16+)。与冰冷的``//:您可以轻松地与OkHttpDataSource
替代HttpDataSource
:
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);
很好,谢谢! – Tom11
尝试更换'HTTP //'在您的链接。这是根据[** Github **]上的ExoPlayer Issue页面(https://github.com/google/ExoPlayer/issues/1003)。无论如何,你的无线电链路是给MP3音频(44.1khz,128k,立体声等),所以没有理由让Android 4设备不能播放音频部分。 –
也值得一拍(未经测试)...做一个基本的MP3播放代码,而不是一些存储MP3 URI使用'http://radiohoryzont.jgora.pl:8050 /;'(注意在URL结尾处添加了分号) 。也可以使用普通的Android SDK(例如:'MediaPlayer' API)代码,用于平常的MP3播放......祝您好运。 –
@ VC.One替换为icy://不工作。 – Tom11