ExoPlayer从原始文件夹中读取mp3文件

有没有可能将位于应用程序的原始文件夹中的MP3文件设置为ExoPlayer?

我试图用下面的代码片段实现它,但不幸的是:

mMediaPath = "android.resource://" + getPackageName() + File.separator + R.raw.ringtone; 

任何帮助是极大的赞赏!

可以从原始文件夹加载文件,关键是使用RawSourceDataSource

下面是一个示例(在Kotlin中)为原始目录中的mp3文件创建LoopingMediaSource

 val uri = RawResourceDataSource.buildRawResourceUri(R.raw.mp3file)
 val dataSource = RawResourceDataSource(this)
 dataSource.open(DataSpec(URI))

 val source = ExtractorMediaSource(uri,DataSource.Factory {dataSource},Mp3Extractor.FACTORY,null,null)

 LoopingMediaSource(源)

我无法从原始文件加载mp3文件,所以我最终将它们移动到资产目录,按照与ExoPlayer的作者之一的讨论。 ( https://github.com/google/ExoPlayer/issues/556

这是我如何从资产中访问mp3文件,如果有人将来需要它的话:

 mMediaPath = "asset:///my_ringtone.mp3"; 

并添加了这个DemoPlayer的路径如下:

 new DemoPlayer(new ExtractorRendererBuilder(this, userAgent, Uri.parse(mMediaPath), null, new Mp3Extractor())); 

感谢所有愿意回答我的问题。