2

我想使用 MediaPlayer 类在 sdcard 上播放 wav 文件。Android 开发者的网站说我们可以将本地媒体作为 uri 播放。代码片段是

Uri myUri = ....; // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();  

如何将本地文件设置为 Uri?
---编辑---
感谢大家
最终使用的答案,Uri myuri = Uri.parse(filepath)但我也验证了所有答案都有效。

4

3 回答 3

3

你可以试试这个:

File file = new File("myfile.wav");
Uri uri = Uri.fromFile(file);
于 2013-08-16T06:40:54.027 回答
2

这对我有用。

private MediaPlayer mPlayer;

mPlayer = new MediaPlayer();
mPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
 String path = "/sdcard/music/sample music.mp3";
 mPlayer.setDataSource(path);
 mPlayer.prepare();
 mPlayer.start();    
} catch (Exception e) {
 e.printStackTrace();
}
于 2013-08-16T06:42:25.283 回答
1

SD 卡目录可能是系统特定的,因此您需要先查询该目录,然后从中创建一个文件和一个 Uri。

String sdcardDirectory = Environment.getExternalStorageDirectory().getAbsolutePath();
File sourdFile = new File(sdCardDirectory + "/path/to/soudfile/" + "sound.wav");
Uri uri = Uri.fromFile();

或者,您可以使用构建 UrifromParts()

Uri uri = Uri.fromParts("file", "/" + sdCardDirectory + "/path/to/soudfile/" + "sound.wav", null);
于 2013-08-16T07:03:15.777 回答