Android:ExoPlayer:从 DefaultHttpDataSource 创建 MediaSource

Dub*_*vin 5 android exoplayer

我使用 ExoPlayer 从我的应用程序中的 url 播放视频,并且需要为每个视频设置一个授权标头。DefaultHttpDataSource 可用于此目的。例如,

DefaultHttpDataSource source = new DefaultHttpDataSource(Util.getUserAgent(mContext, "appAgent"), null);
            source.setRequestProperty("Authorization", authToken);
Run Code Online (Sandbox Code Playgroud)

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

dev*_*ter 3

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

return new DefaultDataSourceFactory(this, null, new DefaultHttpDataSourceFactory(Util.getUserAgent(mContext, "appAgent"), null));