0

将文件添加到 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();
    }
4

1 回答 1

0

这个线程提到

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

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

MediaPlayer mediaPlayer=MediaPlayer.create(this,resID);
于 2012-05-26T17:40:03.223 回答