在 ExoPlayer 2.18.5 中,DefaultHttpDataSourceFactory 已被删除。可以使用 DefaultHttpDataSource 替代它。以下是一个示例:

val dataSourceFactory = DefaultHttpDataSource.Factory().apply {
    setUserAgent("user-agent-string") // 设置 User-Agent
    setDefaultRequestProperties(mapOf("header-key" to "header-value")) // 设置请求头
}
val mediaSource = ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(uri)

此外,如果需要支持 HTTPS,还需要添加一个 SSL socket 工厂:

val sslSocketFactory = SSLContext.getDefault().socketFactory
val dataSourceFactory = DefaultHttpDataSource.Factory().apply {
    setSSLSocketFactory(sslSocketFactory)
    setHostnameVerifier { _, _ -> true } // 忽略 Hostname 验证
}
val mediaSource = ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(uri)
在 exoplayer 2185 中的 DefaultHttpDataSourceFactory 不见了 用什么替代

原文地址: https://www.cveoy.top/t/topic/bTVm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录