2012-05-26 67 views
0

Addig一個文件,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(); 
    } 

回答

0

This螺紋提到

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

這需要一個文件名和獲取的ID。 (OBS:使用文件名之前,它會轉換爲小寫) 這可以被傳遞給MediaPlayer的:

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

謝謝!我記得在某個地方看過這個,我只是忘了它 – erdomester