带有String的raw文件夹中的引用文件

时间:2014-05-06 07:54:48

标签: java android reference mp3

我正在寻找一种解决方案,如何通过String在我的原始文件夹中引用.mp3文件。

我想循环遍历所有名为player1.mp3, player2.mp3的原始文件,依此类推,并将资源id存储在一个int数组中,该数组应包含正确播放器顺序的ID。

我的想法是使用这样的东西:

int[] playerArray = new int[100];
String filename;
for(int i = 0; i<100; i++){
   filename = "player"+String.valueOf(i);
   playerArray = R.raw.filename; //I know, this does not work
}

任何人都可以告诉我一个简单的方法,在数组中以正确的顺序保存fileids,如果没有playerX.mp3的文件,只需在playerArray[X]中写一个200

向前致谢;)

1 个答案:

答案 0 :(得分:3)

您可以使用此代码:

int rawId = context.getResources().getIdentifier(filename, "raw", context.getPackageName());

使用方法getResources(),您可以获得所有ressource的id。第二个参数是ressource的类型(string,drawable,raw,...)

您的代码将是这样的:

int[] playerArray = new int[100];
String filename;
for(int i = 0; i<100; i++){
   filename = "player"+String.valueOf(i);
   int rawId = context.getResources().getIdentifier(filename, "raw", context.getPackageName());
   playerArray[i] = rawId;
}