Android:ExoPlayer:从 DefaultHttpDataSource 创建 MediaSource

标签 android exoplayer

我使用 ExoPlayer 在我的应用程序中播放来自 url 的视频,并且需要为每个视频设置授权 header 。 DefaultHttpDataSource 可以用于此。例如,

DefaultHttpDataSource source = new DefaultHttpDataSource(Util.getUserAgent(mContext, "appAgent"), null);
            source.setRequestProperty("Authorization", authToken);

需要 MediaSource 来准备播放器。问题是如何基于DefaultHttpDataSource创建一个MediaSource? ExtractorMediaSource 的两个构造函数都需要 DataSource.Factory,而不是 DataSource。

最佳答案

这将返回一个 Datasource.Factory 对象:

返回新的 DefaultDataSourceFactory(this, null, new DefaultHttpDataSourceFactory(Util.getUserAgent(mContext, "appAgent"), null));

关于Android:ExoPlayer:从 DefaultHttpDataSource 创建 MediaSource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40130486/

相关文章:

android - 如何为 ExoPlayer v2.5+ 使用 MediaSession 扩展

android - Exoplayer 会在后台播放多长时间?

android - 如何使用 Native Android 制作一个视频播放器,它具有我们在 YouTube 中看到的分辨率切换能力?

android - greendao 按相关表中的字段排序

android - 如何在 Android 的自定义 View 中显示 ImageView

android - 在滚动时在 listView 中添加更多 json 数据

android - 如何使用exoplayer横向全屏播放视频

android - Android Studio 3.0错误

java - 如何在不是 Activity 的布局上暂时隐藏操作栏

android - 如何 "apply fragment shader to GLSurfaceView/TextureView"?