在我的应用程序&res / raw /文件夹中,我有:file1.ogg file2.ogg ... fileN.ogg
在本地数据库中,我有文件名的引用,即file1 file2 ... fileN
。
鉴于其中一个字符串,例如fileM
,我如何播放fileM.ogg
中包含的音频?在这里寻找相关的Java代码。
这是我到目前为止看到的内容:
String name = "plumber";
String link = "/res/raw/" + name + ".ogg";
try {
mp.setDataSource(link); //earlier: mp = new MediaPlayer();
mp.prepare();
mp.start();
} catch (Exception e) {
Toast.makeText(PlayScreen.this, "ERROR: audio player not working.", Toast.LENGTH_LONG).show();
}
我在toast中收到错误消息。我还尝试了link
字符串而没有" / res / raw"在里面。
谢谢。
答案 0 :(得分:4)
MediaPlayer player = new MediaPlayer();
String path = "android.resource://"+packagename+"/raw"+filename;
try {
player.setDataSource(context, Uri.parse(path));
player.prepare();
player.start();
} catch (IOException e) {
e.printStackTrace();
}
尝试使用或不使用扩展名“.mp3”
希望我能帮助你 那样作为样本