我是新手。我正在开发一个Android应用程序来收听在线广播电台。
我要遇到的问题是ExoPlayer(2.9.2)能否或不能播放某些相同类型的不同比特率的流。
例如
这些mpga流
http://108.61.34.50:7130/ ---> 96kbs ===> Playable
http://s3.voscast.com:8408 ---> 64kbs ===> Not Playable
http://220.247.227.20:8000/citystream ---> 128kbs ===> Not Playable
我使用vlc编解码器窗口获取此信息,并且这3个流共享比特率以外的相同值。
我正在使用ExtractorMediaSource
songs.add(Uri.parse("http://220.247.227.20:8000/citystream"));//City
player= ExoPlayerFactory.newSimpleInstance(this,
new DefaultTrackSelector());
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
Util.getUserAgent(this, "AudioApp"));
ConcatenatingMediaSource concatenatingMediaSource = new ConcatenatingMediaSource();
for (Uri temp : songs)
{
BaseMediaSource mediaSourse=
new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(temp);
concatenatingMediaSource.addMediaSource(mediaSourse);
}
player.prepare(concatenatingMediaSource);
player.setPlayWhenReady(true);
希望任何人都可以帮助我。.
答案 0 :(得分:0)
在测试了各种不同的流之后,我意识到这是设备特定的错误。 华为Y5 2017
我测试过的另一部手机工作得很好,最终我将问题提交给github上的ExpoPlayer团队,却不知道这是特定于设备的问题。 在这里
Why does ExoPlayer cant play some of the streams of same type with different bitrates ?