我在这个代码实验室之后使用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)
有人能帮我解决这个问题吗?
提前感谢!
这是适用于我的代码。
- 来自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)