我想通过从用户那里获取文件名来在Android中播放声音文件。如何使用其名称查找和播放位于Raw文件夹中的声音文件?
我知道这样做的过程与通过运行代码使用其名称获取Bitmap相同:
Bitmap bitmap = `BitmapFactory.decodeResource(con.getResources(),con.getResources().getIdentifier(name_of_file, "drawable", con.getPackageName()));`
但我不知道如何在声音文件上做到这一点。
答案 0 :(得分:0)
试试这个:
public static int getResId(String drawableName) {
try {
Class res = R.drawable.class;
Field field = res.getField(drawableName);
int drawableId = field.getInt(null);
System.out.println("resource ids****"+drawableId);
return drawableId;
} catch (Exception e) {
Log.e("MyTag", "Failure to get drawable id.", e);
return 0;
}
}
我是这样用的:
ImageView my_image = (ImageView) findViewById(R.id.my_imageView);
my_image.setBackgroundResource(getResId("ic_launcher"));
答案 1 :(得分:0)
您可以尝试获取资源的ID,然后启动具有该ID的媒体播放器
像这样的东西
int resId = getResources().getIdentifier(name,folder,packagename);
MediaPlayer mp = MediaPlayer.create(context, resId);
mp.start();