我使用 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/