kotlin 安卓系统:Exoplayer - ExtractorMediaSource已弃用

gblwokeq  于 2023-01-17  发布在  Kotlin
关注(0)|答案(3)|浏览(381)

我正在使用这个tutorial来实现Exoplayer。但是ExtractorMediaSource类被弃用了。我需要播放来自远程URL的视频。在这种情况下,有什么替代方法可以使用?

val mediaSource = ExtractorMediaSource
  .Factory(DefaultDataSourceFactory(context, userAgent))
  .setExtractorsFactory(DefaultExtractorsFactory())
  .createMediaSource(Uri.parse(url))
py49o6xq

py49o6xq1#

您使用的是2.10.0版本的ExoPlayer或更高版本吗?那么,请使用ProgressiveMediaSource而不是ExtractorMediaSource(参考发行说明)

jxct1oxe

jxct1oxe2#

ExtractorMediaSource已弃用。ProgressiveMediaSource已更新源工厂

ProgressiveMediaSource.Factory(DefaultHttpDataSource.Factory())
                .createMediaSource(MediaItem.fromUri(Uri.parse("url or path")))
lyr7nygr

lyr7nygr3#

ExtractorMediaSource不建议与2.14.0一起使用
删除ExtractorMediaSource。请改用ProgressiveMediaSource
您应该使用新版本:implementation 'com.google.android.exoplayer:exoplayer:2.18.2'

val defaultHttpDataSourceFactory = DefaultHttpDataSource.Factory()
      val mediaItem = MediaItem.fromUri(URL)
      val mediaSource = ProgressiveMediaSource.Factory(defaultHttpDataSourceFactory)
            .createMediaSource(mediaItem)
      exoPlayer?.setMediaSource(mediaSource)

相关问题