ExoPlayer 2.18.5 中 DefaultHttpDataSourceFactory 替代方案
在 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)
原文地址: https://www.cveoy.top/t/topic/nhMU 著作权归作者所有。请勿转载和采集!