当用户按下按钮时,我想选择某些音频文件,但是我似乎找不到改变R.raw的方法。这样它就会在这里改变。
我知道应该比创建1000更容易的解决方案,否则 R.raw.0,R.raw.1,...
所以在我的示例中,我选择了文件“ c.mp3” 但这最终必须更改为000到499。 因此,随机(或选择性)说050 =>这个应该变成R.raw.050
}
@Override
public void play() {
final MediaPlayer mp = MediaPlayer.create(context, R.raw.c);
mp.start();
}
答案 0 :(得分:1)
您可以尝试使用:
context.getResources().getIdentifier("050", "raw", this.getPackageName());
,并使用随机对象实例将名称(“ 050”)随机化。
答案 1 :(得分:1)
假设您有这样的随机数:
String rand = "050";
您只需找到原始资源ID并将其传递给MediaPlayer.create方法,就像这样:
int rawResourceId = context.getResources().getIdentifier(rand, "raw", this.getPackageName());
final MediaPlayer mp = MediaPlayer.create(context, rawResourceId);
mp.start();
建议: