我正在使用 RingtoneManager
播放声音。当我将声音文件(.mp3)存储在正确的SD目录中时,一切都正常。
我找到文件的URI并将其提供给 RingtoneManager
进行播放。
sd_uri = Uri.parse( "/sdcard/media/path/to/file" );
Ringtone rt = RingtoneManager.getRingtone( getApplicationContext(), sd_uri );
rt.play();
如果平板电脑没有SD卡,该怎么办呢?我的想法是将声音文件存储在res/raw
或res/assets
目录中,但与接受资源标识符的MediaPlayer
不同,RingtoneManager
只需要Uri。如何获取res/raw
或res/assets
目录中文件的Uri呢?理想情况下,我会使用res/raw
来获取R.raw.*
标识符,这可能很方便。