Exo-Player 2.10.1 表示已弃用 SimpleCache(File cacheDir, CacheEvictor evictor)
Exo-Player 2.10.1 says SimpleCache(File cacheDir, CacheEvictor evictor) deprecated
我正在使用 ExoPlayer
播放来自在线服务器的视频。因此,为了更好地保存更多互联网或数据以重播视频,我只是将所有视频缓存到 Cache directory
。但问题是说弃用了 SimpleCache
的 constructor
。
查看我的代码:
private var sDownloadCache: SimpleCache? = null
fun getInstance(mContext: Context): SimpleCache {
val cacheEvictor = LeastRecentlyUsedCacheEvictor((100 * 1024 * 1024).toLong())
if (sDownloadCache == null)
sDownloadCache = SimpleCache(File(mContext.getCacheDir(), "media"),
cacheEvictor)
return sDownloadCache!!
}
在此代码中,编译器只是警告我 constructor SimpleCache(File!, CacheEvictor!) 已弃用。 Java 中已弃用。所以,在那之后我试图在 SimpleCache.java
的文件中找到方法,现在有一种方法可以使用 SimpleCache
是..
SimpleCache(File cacheDir, CacheEvictor evictor, DatabaseProvider databaseProvider)
这对我来说是新的。所以,我的问题是如何使用这个新的构造函数而不是旧的弃用构造函数?有没有办法通过DatabaseProvider
?如果是,那么如何或来自什么?
我正在使用 ExoPlayer
库:
implementation 'com.google.android.exoplayer:exoplayer:2.10.1'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.10.1'
因为此版本提供了易于创建 ExoPlayerFactory
instance
和 build ProgressiveMediaSource
.
试试这个:
val evictor = LeastRecentlyUsedCacheEvictor((100 * 1024 * 1024).toLong())
val databaseProvider: DatabaseProvider = ExoDatabaseProvider(mContext)
simpleCache = SimpleCache(File(mContext.cacheDir, "media"), evictor, databaseProvider)
val mediaSource = ProgressiveMediaSource.Factory(
simpleCache?.let {
CacheDataSourceFactory(
mContext,
100 * 1024 * 1024, 10 * 1024 * 1024, playUri, it
)
}
)
.createMediaSource(playUri)
exoPlayer?.prepare(mediaSource)
我正在使用 ExoPlayer
播放来自在线服务器的视频。因此,为了更好地保存更多互联网或数据以重播视频,我只是将所有视频缓存到 Cache directory
。但问题是说弃用了 SimpleCache
的 constructor
。
查看我的代码:
private var sDownloadCache: SimpleCache? = null
fun getInstance(mContext: Context): SimpleCache {
val cacheEvictor = LeastRecentlyUsedCacheEvictor((100 * 1024 * 1024).toLong())
if (sDownloadCache == null)
sDownloadCache = SimpleCache(File(mContext.getCacheDir(), "media"),
cacheEvictor)
return sDownloadCache!!
}
在此代码中,编译器只是警告我 constructor SimpleCache(File!, CacheEvictor!) 已弃用。 Java 中已弃用。所以,在那之后我试图在 SimpleCache.java
的文件中找到方法,现在有一种方法可以使用 SimpleCache
是..
SimpleCache(File cacheDir, CacheEvictor evictor, DatabaseProvider databaseProvider)
这对我来说是新的。所以,我的问题是如何使用这个新的构造函数而不是旧的弃用构造函数?有没有办法通过DatabaseProvider
?如果是,那么如何或来自什么?
我正在使用 ExoPlayer
库:
implementation 'com.google.android.exoplayer:exoplayer:2.10.1'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.10.1'
因为此版本提供了易于创建 ExoPlayerFactory
instance
和 build ProgressiveMediaSource
.
试试这个:
val evictor = LeastRecentlyUsedCacheEvictor((100 * 1024 * 1024).toLong())
val databaseProvider: DatabaseProvider = ExoDatabaseProvider(mContext)
simpleCache = SimpleCache(File(mContext.cacheDir, "media"), evictor, databaseProvider)
val mediaSource = ProgressiveMediaSource.Factory(
simpleCache?.let {
CacheDataSourceFactory(
mContext,
100 * 1024 * 1024, 10 * 1024 * 1024, playUri, it
)
}
)
.createMediaSource(playUri)
exoPlayer?.prepare(mediaSource)