Java 随机资源选择
我想在用户按下按钮时选择某些音频文件,但我似乎找不到如何更改R.raw。所以它会在这里改变 我知道应该有一个比创建1000个更简单的解决方案 R.raw.0,R.raw.1 因此,在我的示例中,我选择了文件“c.mp3” 但到499年,这个数字最终必须改为000。 所以随机(或选择性)说050=>这个应该变成R.raw.050Java 随机资源选择,java,android,android-studio,android-resources,Java,Android,Android Studio,Android Resources,我想在用户按下按钮时选择某些音频文件,但我似乎找不到如何更改R.raw。所以它会在这里改变 我知道应该有一个比创建1000个更简单的解决方案 R.raw.0,R.raw.1 因此,在我的示例中,我选择了文件“c.mp3” 但到499年,这个数字最终必须改为000。 所以随机(或选择性)说050=>这个应该变成R.raw.050 } @Override public void play() { final MediaPlayer mp = MediaPlayer.create(cont
}
@Override
public void play() {
final MediaPlayer mp = MediaPlayer.create(context, R.raw.c);
mp.start();
}
您可以尝试使用:
context.getResources().getIdentifier("050", "raw", this.getPackageName());
并使用随机对象实例将名称(“050”)随机化。您可以尝试使用:
context.getResources().getIdentifier("050", "raw", this.getPackageName());
并使用随机对象实例将名称(“050”)随机化。假设您的随机数如下:
String rand = "050";
只需找到原始资源id并将其传递给MediaPlayer即可。创建方法如下:
int rawResourceId = context.getResources().getIdentifier(rand, "raw", this.getPackageName());
final MediaPlayer mp = MediaPlayer.create(context, rawResourceId);
mp.start();
建议:
- 最好通过在资源文件前面加上f_000、f_001、…、f_050这样的字母来重命名资源文件
String rand = "050";
只需找到原始资源id并将其传递给MediaPlayer即可。创建方法如下:
int rawResourceId = context.getResources().getIdentifier(rand, "raw", this.getPackageName());
final MediaPlayer mp = MediaPlayer.create(context, rawResourceId);
mp.start();
建议:
- 最好通过在资源文件前面加上f_000、f_001、…、f_050这样的字母来重命名资源文件