未找到适合内容类型:2的媒体源工厂(类型2为M3U8)

问题描述 投票:0回答:1

即使我指定了 mimo 类型,我在使用 exoplayer 时也会收到此错误,所以不明白为什么会发生此崩溃。我使用的版本是2.18.7:

   videoUrl?.let {
                if (it.endsWith(".m3u8")) {
                    val mediaItem = MediaItem.Builder()
                        .setUri(it)
                        .setMimeType(MimeTypes.APPLICATION_M3U8)
                        .build()
                    exoPlayer?.setMediaItem(mediaItem)
                } else {
                    exoPlayer?.setMediaItem(MediaItem.fromUri(it))
                }
            }

我期待视频能够正常播放

android exoplayer exoplayer2.x m3u8 exoplayer-media-item
1个回答
1
投票

播放 HLS 流(或 DASH、平滑流),您需要将 HLS 依赖项添加到您的

build.gradle
文件中。

对于Media3 ExoPlayer,即:

androidx.media3:media3-exoplayer-hls

因此,添加:

implementation "androidx.media3:media3-exoplayer-hls:1.1.1"

(将版本号替换为最新版本。)

对于 ExoPlayer 2.x 来说,它是:

com.google.android.exoplayer:exoplayer-hls
© www.soinside.com 2019 - 2024. All rights reserved.