2010-06-15 11 views
23

Jak skonfigurować plik audio do odtworzenia, gdy użytkownik dotknie obrazu.Android: odtwarzanie klipu dźwiękowego onClick

Gdzie powinienem przechowywać plik audio i jaki kod powinienem użyć, aby go odtworzyć? Nie chcę wywoływać interfejsu MediaPlayer ani niczego w tym stylu.

myślałem to zrobić tak:

foo = (ImageView)this.findViewById(R.id.foo); 
    foo.setOnClickListener(this); 

public void onClick(View v) { 
if (foo.isTouched()) { 

playAudioFile(); 
    } 
} 

Dzięki

+1

Jak opisano w poniższej odpowiedzi, umieścić 'my_sound.mp3' do' res/raw/', a następnie odwołaj go przez' R.raw.my_sound'. Jednak masz dwie możliwości: "MediaPlayer" i "SoundPool". Aby efektywnie zarządzać pamięcią, powinieneś używać biblioteki do pracy z tymi klasami: https://github.com/delight-im/Android-Audio – caw

Odpowiedz

52

To nie stworzy przywołać interfejs MediaPlayer ... to po prostu grać żądany dźwięk.

Button boton = (Button) findViewById(R.id.boton); 
boton.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
    MediaPlayer mp = MediaPlayer.create(TestSonido.this, R.raw.slayer); 
    mp.start(); 
} 
}); 

W tym przypadku R.raw.slayer reprezentuje plik dźwiękowy o nazwie slayer.mp3, który jest przechowywany w folderze res/raw/ i po kliknięciu przycisku robot will rock you ...

+0

Co się stanie, jeśli dwukrotnie kliknę przycisk przed zakończeniem poprzedniego klipu audio, myślę, że to zagra podwójny dźwięk? – Jay

Powiązane problemy