gpt4 book ai didi

android - 将 ExoPlayer 从 2.11.8 升级到 2.12.1 并更换过时的组件后,我无法播放任何视频

转载 作者:行者123 更新时间:2023-12-04 08:38:30 26 4
gpt4 key购买 nike

我最近升级了 com.google.android.exoplayer:exoplayer-core从版本 2.11.8 到版本 2.12.1。
以下代码 fragment 中的某些组件已被版本 2.12.1 弃用。

        cacheEvictor = LeastRecentlyUsedCacheEvictor(CACHE_SIZE_MAX)
databaseProvider = ExoDatabaseProvider(context)
cache = SimpleCache(File(context.cacheDir, CACHE_DIR),
cacheEvictor, databaseProvider)
upstreamFactory = DefaultDataSourceFactory(context, USER_AGENT)
// CacheDataSourceFactory class is deprecated
cacheFactory = CacheDataSourceFactory(cache, upstreamFactory,
CacheDataSource.FLAG_BLOCK_ON_CACHE or
CacheDataSource.FLAG_IGNORE_CACHE_ON_ERROR)
mediaSourceFactory = ProgressiveMediaSource.Factory(cacheFactory)
[...]
val url: Uri
val player: SimpleExoPlayer
[...]
// createMediaSource method is deprecated
val mediaSource = mediaSourceFactory.createMediaSource(uri)
// prepare method is deprecated
player.prepare(mediaSource, true, true)
因此,我用最新的组件替换了已弃用的组件。
        cacheEvictor = LeastRecentlyUsedCacheEvictor(CACHE_SIZE_MAX)
databaseProvider = ExoDatabaseProvider(context)
cache = SimpleCache(File(context.cacheDir, CACHE_DIR),
cacheEvictor, databaseProvider)
upstreamFactory = DefaultDataSourceFactory(context, USER_AGENT)
cacheFactory = CacheDataSource.Factory().apply {
setCache(this@VideoPlayer.cache)
setUpstreamDataSourceFactory(upstreamFactory)
setFlags(CacheDataSource.FLAG_BLOCK_ON_CACHE or
CacheDataSource.FLAG_IGNORE_CACHE_ON_ERROR)
}
mediaSourceFactory = ProgressiveMediaSource.Factory(cacheFactory)
[...]
val url: Uri
val player: SimpleExoPlayer
[...]
val mediaItem = MediaItem.fromUri(uri)
val mediaSource = mediaSourceFactory.createMediaSource(mediaItem)
player.setMediaSource(mediaSource, true)
// The following missed
player.prepare(mediaSource)
更新后,播放器是黑色的,我无法播放任何视频(在 Logcat 中没有任何用处)。
我已经回到不推荐使用的组件(仍然使用版本 2.12.1),现在我可以播放每个视频。
我想我在更换已弃用的组件时搞砸了一些事情。
任何人都可以帮助我吗?

最佳答案

我刚刚修复了答案中的代码:我忘记了最后一个 player.prepare() .
现在它工作正常。

关于android - 将 ExoPlayer 从 2.11.8 升级到 2.12.1 并更换过时的组件后,我无法播放任何视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64680248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com