在学习 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();
}
...
我确信这是一个基本的知识匮乏问题,但非常感谢任何帮助。
编辑:
如果我在函数中添加实际的声音文件,上述函数运行良好:
player = MediaPLayer.create(MainActivity.this,R.raw.dogBark);
但我想做的是在调用函数时定义声音文件:
playSound("dogBark");
最佳答案
你可以这样做,对我来说效果很好:
playMp3("titanic");
添加这个方法:
private void playMp3(String nameOfFile){
MediaPlayer mPlayer = MediaPlayer.create(this, getResources().getIdentifier(nameOfFile, "raw", getPackageName()));
mPlayer.start();
}
这对你来说绝对有用。
关于java - 声音文件在 android MediaPlayer 中作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31744683/