在 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 2.18.5 中 DefaultHttpDataSourceFactory 替代方案

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

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