将文件添加到MediaPlayer非常简单:
mp = MediaPlayer.create(Myctivity.this, R.raw.sound);
但是,如果我将文件名作为参数来自这样的函数呢?
public void CreateSound(String filename, float volume)
{
mp = MediaPlayer.create(Myctivity.this, R.raw.???);
mp.setVolume(volume, volume);
try {
mp.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mp.start();
}
答案 0 :(得分:0)
This主题提及
int resID=getResources().getIdentifier(fname, "raw", getPackageName());
获取文件名并获取ID。 ( OBS:在使用文件名之前,它已转换为小写) 然后可以将其传递给MediaPlayer:
MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);