使用Exoplayer播放音频URL新媒体3
文档真的很好。但是,音频立即开始播放活动。
单击 recyclerview
时,我只想播放这首歌。我有每首歌uri。
musicAdapter = MusicAdapter(onClickListener = MusicAdapter.OnMusicClickListener{uri->
//I want to play the song here using the uri with exoplayer media3
})
从文档中,播放器立即开始初始化活动开始:
val trackSelector = DefaultTrackSelector(requireContext()).apply {
setParameters(buildUponParameters().setMaxVideoSizeSd())
}
player = ExoPlayer.Builder(requireContext())
.setTrackSelector(trackSelector)
.build()
.also { exoPlayer ->
val mediaItem = MediaItem.fromUri(getString(R.string.media_url_mp3))
exoPlayer.setMediaItem(mediaItem)
exoPlayer.playWhenReady = true
exoPlayer.seekTo(currentItem, playbackPosition)
exoPlayer.prepare()
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将PlayWhen Ready属性设置为False IT基本上告诉Exoplayer在加载视频/音频后不要播放视频/音频。
然后,您可以在OnClickHandler中手动调用player.play()函数。
一个简单的例子是: -
注意:我还考虑了URI类型的URI变量而不是字符串。
You can set the playWhenReady attribute to false it basically tells exoplayer to not play the video/audio as soon as it is loaded.
Then you can manually call the player.play() function inside the onClickHandler.
A simple example is this :-
Note: I have also considered uri variable of type Uri not of String.