函数参数为文件名

时间:2012-05-26 17:28:48

标签: android

将文件添加到MediaPlayer非常简单:

mp = MediaPlayer.create(Myctivity.this, R.raw.sound);

但是,如果我将文件名作为参数来自这样的函数呢?

  public void CreateSound(String filename, float volume)
    {
        mp = MediaPlayer.create(Myctivity.this, R.raw.???);
             mp.setVolume(volume, volume);
           try {
            mp.prepare();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
           mp.start();
    }

1 个答案:

答案 0 :(得分:0)

This主题提及

 int resID=getResources().getIdentifier(fname, "raw", getPackageName());

获取文件名并获取ID。 ( OBS:在使用文件名之前,它已转换为小写) 然后可以将其传递给MediaPlayer:

MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);