【问题标题】:How to use spécific User-Agent with (Magical) ExoPlayer in android?如何在 android 中将特定的用户代理与 (Magical) ExoPlayer 一起使用?
【发布时间】:2019-09-07 20:54:45
【问题描述】:

我正在使用 Android Studio,我需要在我的应用中添加 ExoPlayer,我需要使用特定的用户代理,所以我找到了这个 MagicalExoPlayer:

https://github.com/HamidrezaAmz/MagicalExoPlayer

这个“版本”的 ExoPlayer 非常易于使用,在自述文件中我们可以看到很容易放置特定的标题。 所以我试着像这样放置一个特定的用户代理:

HashMap<String , String> extraHeaders = new HashMap<>();
extraHeaders.put("User-Agent","My User Agent");
andExoPlayerView.setSource("STREAM_URL", extraHeaders);

但是用户代理没有改变,我有 ExoPlayer 的默认用户代理。

那么如何在 ExoPlayer 中使用特定的用户代理? (如果我能使用 MagicalExoPlayer 就更好了)。

【问题讨论】:

    标签: java android user-agent exoplayer


    【解决方案1】:

    用户代理在为播放器准备数据源时提供给 Exoplayer。示例:

    DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context,"MY_USER_AGENT");
    

    由于 MagicalExoPlayer 是 Exoplayer 的包装器,因此它已将字段设置为常量。请参阅 github 存储库中的 PublicValues.java class。您可以要求作者向该字段公开一个公共设置器。另一种方法是将库模块复制到您的项目并更改 PublicValues 类中的用户代理的值。您需要更改 build.gradle 来编译模块。我强烈建议您询问作者,除非有必要,否则不要复制该模块,因为您必须在之后手动更新该模块。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 2019-01-30
    • 2016-05-06
    • 1970-01-01
    • 2016-12-29
    • 2016-07-16
    相关资源
    最近更新 更多