我有一個活動,有一系列的按鈕,當按下時應播放音頻文件。我一直在嘗試使用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