Я пытаюсь воспроизвести видео DASH с помощью Uri
, полученного из exoplayer
демо-приложения https://github.com/google/ExoPlayer/blob/release-v2/demos/main/src/main/assets./media.exolist.json
Когда я переключаю свою сеть с WIFI на мобильные данные, качество видео не меняется, вместо этого начинается буферизация.
Мой код
private void initializePlayer() {
if (player == null) {
player = ExoPlayerFactory.newSimpleInstance(
new DefaultRenderersFactory(this),
new DefaultTrackSelector(), new DefaultLoadControl());
exoPlayerView.setPlayer(player);
player.setPlayWhenReady(playWhenReady);
player.seekTo(currentWindow, playbackPosition);
}
Uri uri = Uri.parse("http://www.youtube.com/api/manifest/dash/id/3aa39fa2cc27967f/source/youtube?as=fmp4_audio_clear,fmp4_sd_hd_clear&sparams=ip,ipbits,expire,source,id,as&ip=0.0.0.0&ipbits=0&expire=19000000000&signature=A2716F75795F5D2AF0E88962FFCD10DB79384F29.84308FF04844498CE6FBCE4731507882B8307798&key=ik0");
MediaSource mediaSource = buildMediaSource(uri);
player.prepare(mediaSource, true, false);
player.addListener(new PlayerEventListener());
player.setRepeatMode(Player.REPEAT_MODE_ALL);
//exoPlayerView.setUseController(false);
}
private MediaSource buildMediaSource(Uri uri) {
DataSource.Factory manifestDataSourceFactory = new DefaultHttpDataSourceFactory("ua");
DashChunkSource.Factory dashChunkSourceFactory = new DefaultDashChunkSource.Factory(new DefaultHttpDataSourceFactory("ua", BANDWIDTH_METER));
return new DashMediaSource.Factory(dashChunkSourceFactory, manifestDataSourceFactory).createMediaSource(uri);
}
уровень
compile 'com.google.android.exoplayer:exoplayer-core:2.7.0'
compile 'com.google.android.exoplayer:exoplayer-dash:2.7.0'
compile 'com.google.android.exoplayer:exoplayer-ui:2.7.0'
Есть ли что-нибудь, что я пропустил?