播放视频而不加载

时间:2021-07-28 06:06:09

标签: java android video exoplayer2.x

我想在我的应用中播放视频列表。我正在使用 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 等应用中播放

0 个答案:

没有答案