You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android ExoPlayer2添加Referer请求头技术问题咨询

ExoPlayer添加Referer请求头的正确实现方法

你之前的代码报错是因为getDefaultRequestProperties().set()返回的是RequestProperties对象,而方法要求返回HttpDataSource.Factory,类型不匹配导致编译错误。

正确的修改方式是先创建DefaultHttpDataSourceFactory实例,设置请求头后再返回该实例,代码如下:

public HttpDataSource.Factory buildHttpDataSourceFactory(DefaultBandwidthMeter bandwidthMeter) {
    // 创建Http数据源工厂实例
    DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory(
            isUserAgent ? userAgentName : Util.getUserAgent(requireActivity(), "ExoPlayerDemo"), 
            bandwidthMeter);
    // 添加Referer请求头(建议遵循HTTP规范用首字母大写的Referer)
    dataSourceFactory.getDefaultRequestProperties().set("Referer", "myrefererer");
    // 返回工厂实例
    return dataSourceFactory;
}

修改后,ExoPlayer发起的所有HTTP请求(包括m3u8的分片请求)都会自动带上你设置的Referer请求头,满足m3u8链接的播放要求。

内容的提问来源于stack exchange,提问作者Kikay Jaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:15:37