声音文件作为android MediaPlayer中的变量

JPJ*_*ens 3 java android

在学习android / java的过程中,我想创建一个可以从原始文件夹播放特定声音的函数。

我试图将声音文件定义为字符串,以便可以重复使用该功能。但是,我坚持“无法解析符号”。

public class MainActivity extends ActionBarActivity {
MediaPlayer player;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    playSound("dogBark");
}

public void playSound(String soundFile) {
    player = MediaPlayer.create(MainActivity.this,R.raw.soundFile); // Cannot resolve symbol 'soundFile'
    player.setLooping(true);
    player.start();

}
...
Run Code Online (Sandbox Code Playgroud)

我确信这是一个基本的缺乏知识的问题,但是任何帮助将不胜感激。

编辑:

如果我在函数中添加实际的声音文件,则上述函数可以很好地工作:

player = MediaPLayer.create(MainActivity.this,R.raw.dogBark);
Run Code Online (Sandbox Code Playgroud)

但是我想做的是在调用函数时定义声音文件:

playSound("dogBark");
Run Code Online (Sandbox Code Playgroud)

Hir*_*tel 6

您可以这样做,对我来说很好:

playMp3("titanic");
Run Code Online (Sandbox Code Playgroud)

添加此方法:

private void playMp3(String nameOfFile){
   MediaPlayer mPlayer = MediaPlayer.create(this, getResources().getIdentifier(nameOfFile, "raw", getPackageName()));
   mPlayer.start();
}
Run Code Online (Sandbox Code Playgroud)

这将为您确定工作。