gpt4 book ai didi

android - 如何使用 ExoPlayer 从服务器流式传输 mp4 视频?

转载 作者:行者123 更新时间:2023-11-29 01:05:32 25 4
gpt4 key购买 nike

最近我遇到了 google exoplayer,它有一些很酷的功能但缺乏文档和支持并且是新手,我怀疑如何使用服务器 URL 播放 mp4 视频。现在让我解释一下我到目前为止所做的尝试

  1. 我已经在我的项目中成功实现了 exoplayer 并使它运行
  2. 但我的问题是首先使用我的服务器 url 它完成完整的视频缓冲区然后才开始播放所以它需要时间?我需要的是它需要在获得每个响应后同时播放,以便视频可以快速播放我如何实现这一点。现在让我发布到目前为止我尝试过的内容:

        BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
    TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);

    TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
    LoadControl loadControl = new DefaultLoadControl();
    player = ExoPlayerFactory.newSimpleInstance(this, trackSelector, loadControl);
    simpleExoPlayerView = new SimpleExoPlayerView(this);
    simpleExoPlayerView = findViewById(R.id.player_view);
    simpleExoPlayerView.setUseController(true);
    simpleExoPlayerView.setVisibility(View.VISIBLE);
    simpleExoPlayerView.requestFocus();
    simpleExoPlayerView.setPlayer(player);

    Log.d("url", intent.getStringExtra("videopath") + "?api_key=" + getResources().getString(R.string.dream_factory_api_key) + "&session_token=" + PreferenceUtils.getInstance(this).getStrData(PreferenceUtils.SESSION_TOKEN));
    MediaSource mediaSource = new ExtractorMediaSource(Uri.parse(intent.getStringExtra("videopath") + "?api_key=" + getResources().getString(R.string.fs) + "&session_token=" + PreferenceUtils.getInstance(this).getStrData(PreferenceUtils.SESSION_TOKEN)),
    new CacheDataSourceFactory(this, 100 * 1024 * 1024, 5 * 1024 * 1024), new DefaultExtractorsFactory(), null, null);
    player.prepare(mediaSource);

有什么帮助吗?我做的对吗?我需要的是它需要像 youtube play 一样的缓冲,而不是像 buffer 完全缓冲然后播放,提前致谢

最佳答案

您应该使用 DashMediaSource 而不是 ExtractorMediaSource。这正是您想要的(播放时缓冲)。

关于android - 如何使用 ExoPlayer 从服务器流式传输 mp4 视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47546088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com