因此,我的应用播放了Internet上的广播电台。除了播放101.ru的广播电台外,其他一切都很好。音乐断断续续,我不能说断断续续之间有相等的时间间隔。 我正在使用ExoPlayer库v2.8.0。
我试图解决什么:
我的ExoPlayer初始化代码:
IcyHttpDataSourceFactory factory = new IcyHttpDataSourceFactory.Builder(Util.getUserAgent(context, userAgent))
.setIcyHeadersListener(this)
.setIcyMetadataChangeListener(this).build();
dataSourceFactory = new DefaultDataSourceFactory(context, null, factory);
RenderersFactory renderersFactory = new DefaultRenderersFactory(context);
TrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory(new DefaultBandwidthMeter());
DefaultTrackSelector trackSelector = new DefaultTrackSelector(trackSelectionFactory);
LoadControl loadControl = new DefaultLoadControl();
player = ExoPlayerFactory.newSimpleInstance(renderersFactory, trackSelector, loadControl);
player.addListener(this);
我的ExoPlayer代码从URL播放:
player.prepare(generateMediaSource(Uri.parse(url)));
private MediaSource generateMediaSource(Uri uri) {
return new ExtractorMediaSource.Factory(dataSourceFactory)
.setExtractorsFactory(new DefaultExtractorsFactory())
.createMediaSource(uri);
}
因此,101.ru拥有约80个广播电台,其中约95%处于停顿状态。但是,其他100-200个广播电台的质量也很高。 我该如何解决?谢谢
答案 0 :(得分:1)
问题已解决。问题出在IcyHttpDataSourceFactory中。我在exoplayer github问题中有wrote,在这里我得到了答案:
版本应为2.10.3,并且您不应使用任何其他IcyHttpDataSourceFactory
,因为它们在最新版本中添加了ICY支持。
因此,口吃得到了解决,声音现在变得清晰了。