This commit is contained in:
Horis
2026-01-14 13:49:25 +08:00
parent 01489a7669
commit d9fd278804
@@ -16,6 +16,7 @@ import androidx.media3.datasource.okhttp.OkHttpDataSource
import androidx.media3.exoplayer.DefaultLoadControl import androidx.media3.exoplayer.DefaultLoadControl
import androidx.media3.exoplayer.ExoPlayer import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory import androidx.media3.exoplayer.source.DefaultMediaSourceFactory
import androidx.media3.extractor.DefaultExtractorsFactory
import com.google.gson.reflect.TypeToken import com.google.gson.reflect.TypeToken
import io.legado.app.help.http.okHttpClient import io.legado.app.help.http.okHttpClient
import io.legado.app.utils.GSON import io.legado.app.utils.GSON
@@ -51,15 +52,15 @@ object ExoPlayerHelper {
).build() ).build()
).setMediaSourceFactory( ).setMediaSourceFactory(
DefaultMediaSourceFactory(context) DefaultMediaSourceFactory(
.setDataSourceFactory(resolvingDataSource) context,
DefaultExtractorsFactory().setConstantBitrateSeekingEnabled(true)
).setDataSourceFactory(resolvingDataSource)
.setLiveTargetOffsetMs(5000) .setLiveTargetOffsetMs(5000)
).build() ).build()
} }
private val resolvingDataSource: ResolvingDataSource.Factory by lazy { private val resolvingDataSource: ResolvingDataSource.Factory by lazy {
ResolvingDataSource.Factory(cacheDataSourceFactory) { ResolvingDataSource.Factory(cacheDataSourceFactory) {
var res = it var res = it
@@ -86,7 +87,7 @@ object ExoPlayerHelper {
*/ */
private val cacheDataSourceFactory by lazy { private val cacheDataSourceFactory by lazy {
//使用自定义的CacheDataSource以支持设置UA //使用自定义的CacheDataSource以支持设置UA
return@lazy CacheDataSource.Factory() CacheDataSource.Factory()
.setCache(cache) .setCache(cache)
.setUpstreamDataSourceFactory(okhttpDataFactory) .setUpstreamDataSourceFactory(okhttpDataFactory)
.setCacheReadDataSourceFactory(FileDataSource.Factory()) .setCacheReadDataSourceFactory(FileDataSource.Factory())