问题描述
我想在我的应用中播放视频列表。我正在使用 exoplayer。我有一个arrayList 中所有视频的链接。但问题是每个视频的视频加载时间为 4-5 秒。 我的负载控制设置:
public static final int MIN_BUFFER_DURATION = 2000;
//Max Video you want to buffer during PlayBack
public static final int MAX_BUFFER_DURATION = 5000;
//Min Video you want to buffer before start Playing it
public static final int MIN_PLAYBACK_START_BUFFER = 1500;
//Min video You want to buffer when user resumes video
public static final int MIN_PLAYBACK_RESUME_BUFFER = 2000;
loadControl = new DefaultLoadControl.Builder()
.setAllocator(new DefaultAllocator(true,30))
.setBufferDurationsMs(MIN_BUFFER_DURATION,MAX_BUFFER_DURATION,MIN_PLAYBACK_START_BUFFER,MIN_PLAYBACK_RESUME_BUFFER)
.setTargetBufferBytes(-1)
.setPrioritizeTimeOverSizeThresholds(true).createDefaultLoadControl();
MediaSource mediaSource = new ExtractorMediaSource(Uri.parse(videoURL),new CacheDataSourceFactory(getContext(),100 * 1024 * 1024,5 * 1024 * 1024),new DefaultExtractorsFactory(),null,null);
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(bandwidthMeter);
TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
@DefaultRenderersFactory.ExtensionRendererMode int extensionRendererMode = DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER;
renderersFactory = new DefaultRenderersFactory(getContext()).setExtensionRendererMode(extensionRendererMode);
player = new SimpleExoPlayer.Builder(getContext())
.setTrackSelector(trackSelector)
.setLoadControl(loadControl)
.build();
PlaybackParameters param = new PlaybackParameters(1,1);
//param.setSpeed(0.88f);// 1f is 1x,2f is 2x
player.setPlaybackParameters(param);
player.prepare(mediaSource);
player.setPlayWhenReady(true);
我希望我的视频在获得视频网址后立即播放,因为它们在 tik tok 和 Likee 等应用中播放
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)