通过指定其名称来播放声音文件

时间:2013-02-14 08:42:29

标签: android

我想通过从用户那里获取文件名来在Android中播放声音文件。如何使用其名称查找和播放位于Raw文件夹中的声音文件?

我知道这样做的过程与通过运行代码使用其名称获取Bitmap相同:

Bitmap bitmap = `BitmapFactory.decodeResource(con.getResources(),con.getResources().getIdentifier(name_of_file, "drawable", con.getPackageName()));`

但我不知道如何在声音文件上做到这一点。

2 个答案:

答案 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();