安卓media3外部播放器,从SD卡或原始目录播放视频



我在这个代码实验室之后使用Android新的Media3 Exoplayer库,但没有从res/raw目录播放视频的解决方法。我从res/raw目录播放的代码是

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

上面的代码不起作用,如果我用mp4URL创建MediaItem,那么它就起作用了。mp4URL的代码为

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

有人能帮我解决这个问题吗?

提前感谢!

这是适用于我的代码。

  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 = playerplayer.addMediaItem(mediaItem)player.play()

2.来自Raw文件夹的视频代码。val videoUri = RawResourceDataSource.buildRawResourceUri(R.raw.test_video_2)val mediaItem = MediaItem.fromUri(videoUri)

最新更新