У меня есть действие, которое имеет ряд кнопок, которые при нажатии должны воспроизводить аудиофайл. Я пытался реализовать это с помощью 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
убедитесь, что loaction raw является 'res/raw /' и u использует 'mp.setDataSource (CurrentActivity.this, R.raw.greet_1);' –
Это res/raw. Я не могу понять, почему он не работает? – user1356791