我有一个活动,有一系列的按钮,当按下时应播放音频文件。我一直在尝试使用MediaPlayer实现这一点,但我无法让它工作。 这里是代码我一直在努力:MediaPlayer错误android
final MediaPlayer mp = new MediaPlayer();
Button ger1play = (Button) findViewById(R.id.ger1play);ger1play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.setDataSource(this, R.raw.greet_1);
mp.prepare();
mp.start();
}
});
的setDateSource方法似乎没有工作,谁能告诉我在哪里,我错了? 我想然后根据按下哪个按钮将mediaPlayer设置为相关的音频文件,这可能吗?
更新
final MediaPlayer mp = new MediaPlayer();
Button ger1play = (Button) findViewById(R.id.ger1play);ger1play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
Uri myUri = Uri.parse(R.raw.greet_1);
mp.setDataSource(GreetingsLesson.this, R.raw.greet_1);
mp.prepare();
mp.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
当我尝试这个Eclipse仍然给我一个错误,它建议更改greet_1到Uri的类型? – user1356791 2012-04-26 13:21:27
请确保raw的位置是'res/raw /',并且您正在使用'mp.setDataSource(CurrentActivity.this,R.raw.greet_1);' – 2012-04-26 13:26:28
它是res/raw。我不明白为什么它不工作? – user1356791 2012-04-26 13:27:50