pull/1296/head
gedoor 4 years ago
parent 91f1bf2c8a
commit b9341bc7a0
  1. 8
      app/src/main/java/io/legado/app/help/ExoPlayerHelper.kt
  2. 4
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt
  3. 3
      app/src/main/java/io/legado/app/service/AudioPlayService.kt

@ -15,9 +15,13 @@ import io.legado.app.help.http.okHttpClient
object ExoPlayerHelper {
fun createMediaSource(uri: Uri, overrideExtension: String? = null): MediaSource {
fun createMediaSource(
uri: Uri,
overrideExtension: String? = null,
userAgent: String
): MediaSource {
val mediaItem = MediaItem.fromUri(uri)
val dataSourceFactory = OkHttpDataSource.Factory(okHttpClient)
val dataSourceFactory = OkHttpDataSource.Factory(okHttpClient).setUserAgent(userAgent)
val mediaSourceFactory = when (inferContentType(uri, overrideExtension)) {
C.TYPE_SS -> SsMediaSource.Factory(dataSourceFactory)
C.TYPE_DASH -> DashMediaSource.Factory(dataSourceFactory)

@ -410,6 +410,10 @@ class AnalyzeUrl(
return GlideUrl(urlHasQuery, headers.build())
}
fun getUserAgent(): String {
return headerMap[UA_NAME] ?: AppConfig.userAgent
}
override fun getSource(): BaseSource? {
return source
}

@ -131,7 +131,8 @@ class AudioPlayService : BaseService(),
useWebView = true
)
val uri = Uri.parse(analyzeUrl.url)
val mediaSource = ExoPlayerHelper.createMediaSource(uri)
val mediaSource = ExoPlayerHelper
.createMediaSource(uri, userAgent = analyzeUrl.getUserAgent())
exoPlayer.setMediaSource(mediaSource)
exoPlayer.playWhenReady = true
exoPlayer.prepare()

Loading…
Cancel
Save