Java 随机资源选择

Java 随机资源选择,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

我想在用户按下按钮时选择某些音频文件,但我似乎找不到如何更改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(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这样的字母来重命名资源文件