2012-05-26 41 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