Android media3 exoplayer,播放SD卡或Raw目录中的视频

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

我正在使用 Android 新的

Media3 Exoplayer
库,遵循 此代码实验室,但没有解决方法可以从 res/raw 目录播放视频。我从 res/raw 目录播放的代码是

    val uri = RawResourceDataSource.buildRawResourceUri(R.raw.my_video)
    val mediaItem = MediaItem.fromUri(uri)
    exoPlayer.setMediaItem(mediaItem)

上面的代码不起作用,如果我使用

mp4
URL 创建 MediaItem,那么它就可以工作。
mp4
URL 的代码是

    val mediaItem = MediaItem.fromUri(getString(R.string.media_url_mp4))
    exoPlayer.setMediaItem(mediaItem)

谁能帮我解决这个问题吗?

提前致谢!

android exoplayer
1个回答
0
投票

这是对我有用的代码。

  1. 来自 HTTP URL 的视频代码。

val player: ExoPlayer = ExoPlayer.Builder(requireContext()).build()
val mediaItem = MediaItem.Builder().setUri("https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4").build()
binding.videoPlayerMedia3.player = player
player.addMediaItem(mediaItem)
player.play()

2.Raw 文件夹中的视频代码。

val videoUri = RawResourceDataSource.buildRawResourceUri(R.raw.test_video_2)
val mediaItem = MediaItem.fromUri(videoUri)

© www.soinside.com 2019 - 2024. All rights reserved.