le but est de produire un son lorsqu'on appuie sur un bouton
Il faut dans un premier temps faire l'import de MediaPlayer pour accéder aux méthodes des sons.
import android.media.MediaPlayer;
remarque l'import peut être généré automatiquement par les touche Alt + espace
La méthode est appelée
On déclare un son de type MediaPlayer
et on écrit la méthode playSound
MediaPlayer mpSong = null;
private void playSound (int resId) {
if(mpSong != null) {
mpSong.stop();
mpSong.release();
}
La méthode est appelée lors du clic sur le bouton.
bouton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
texte.setText("tu as appuyé sur le bouton");
playSound(R.raw.p1);
}
});
Il faut placer le fichier son dans le répertoire raw ( que l'on crée si celui-ci n'existe pas)
___________________________________________________________________________
code complet
package com.tontonzition.sos321prout;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
MediaPlayer mpSong = null;
private void playSound (int resId) {
if(mpSong != null) {
mpSong.stop();
mpSong.release();
}
mpSong = MediaPlayer.create(this, resId);
mpSong.start();
}
public void onPause() {
super.onPause();
if(mpSong != null) {
mpSong.stop();
mpSong.release();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // le layout créé est bien été associé à activity_main
final TextView texte = (TextView) findViewById(R.id.champTexte);
final Button bouton = (Button) findViewById(R.id.buttonGO);
bouton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
texte.setText("tu as appuyé sur le bouton");
playSound(R.raw.p1);
}
});
}
}
Aucun commentaire:
Enregistrer un commentaire