0

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

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

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

但我不知道如何处理声音文件。

4

2 回答 2

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"));
于 2013-02-14T08:48:48.560 回答
0

您可以尝试获取资源的 id,然后使用该 id 启动 Mediaplayer

类似的东西

int resId = getResources().getIdentifier(name,folder,packagename);
MediaPlayer mp = MediaPlayer.create(context, resId);
mp.start();
于 2013-02-14T08:50:31.297 回答