将授权令牌添加到exoplayer的请求中

kzmpq1sx  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(370)

我想从我的服务器上使用exoplayer流式播放视频,该服务器使用令牌身份验证来验证是否允许用户读取该文件(django),为此,我必须在请求头中包含一个身份验证令牌,如下所示

Authorization Token d4637461d8d7ea159884264beef618b6a6e90485

来自的exoplayer文档摘要https://exoplayer.dev/customization.html 他说我必须这样做

DataSource.Factory dataSourceFactory = () -> {
     HttpDataSource dataSource = httpDataSourceFactory.createDataSource();
     // Set a custom authentication request header.
     dataSource.setRequestProperty("Header", "Value");
     return dataSource;
 };

然后我像这样对我的球员进行设置

SimpleExoPlayer player = new SimpleExoPlayer.Builder(context)
      .setMediaSourceFactory(new DefaultMediaSourceFactory(dataSourceFactory))
      .build();

但android studio表示无法解析httpdatasourcefactory的符号。因此,我向上滚动以查找名为httpdatasourcefactory的任何变量,我发现该变量为

// Build a HttpDataSource.Factory with cross-protocol redirects enabled.
 HttpDataSource.Factory httpDataSourceFactory =
      new DefaultHttpDataSource.Factory().setAllowCrossProtocolRedirects(true);

但现在我得到了错误
对“工厂”的引用模棱两可,“com.google.android.exoplayer2.upstream.datasource.factory”和“com.google.android.exoplayer2.upstream.httpdatasource.factory”都匹配

是我犯的错吗

rmbxnbpk

rmbxnbpk1#

我在文档中使用的依赖项是

implementation 'com.google.android.exoplayer:exoplayer-core:2.12.0'
 implementation 'com.google.android.exoplayer:exoplayer-dash:2.12.0'
 implementation 'com.google.android.exoplayer:exoplayer-ui:2.12.0'

当我将依赖项升级到时,错误就解决了

implementation 'com.google.android.exoplayer:exoplayer-core:2.14.1'
implementation 'com.google.android.exoplayer:exoplayer-dash:2.14.1'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.14.1'

相关问题