2010-08-09 5 views
1

J'ai suivi les étapes pour créer mon objet lecteur multimédia mais je ne comprends pas pourquoi il ne joue pas sur la piste musicale. J'ai utilisé le code suivant:Problème avec Android MediaPlayer

mp = new MediaPlayer(); 
    mp.create(this, R.raw.testmed); 
    mp.setVolume(100, 100); 


    mp.start(); 

mais aucun son joue à travers l'émulateur, et de plus quand je vérifie la méthode mp.isPlaying() il retourne faux. Qu'est-ce que j'ai raté?!

Un grand merci

Répondre

4

Vous devez appeler toutes les méthodes nécessaires pour démarrer réellement le joueur. Jetez un oeil à Android Media Player state diagram

Je pense que vous devez préparer le lecteur avant de commencer. Lorsque le joueur est prêt, il peut être démarré. Cela se fait par un onPreparedListener:

mp = new MediaPlayer(); 
mp.create(this, R.raw.testmed); 
mp.setVolume(100, 100); 
mp.setOnPreparedListener(this); 
mp.prepare(); 

Ensuite, vous devez définir cela et cela devrait fonctionner:

public void onPrepared(MediaPlayer player) { 
    mp.start(); 
} 
+1

Ne devrait pas recevoir setVolume flotte entre 0 et 1? mp.setVolume (1.0f, 1.0f) maximisera le volume, je crois. –

+0

Je l'ai utilisé comme ça et je n'ai rencontré aucun problème - où est-ce que ça veut dire que les valeurs devraient être entre 0 et 1? – slhck

+1

Je l'ai vu dans un tutoriel quelque part; voici un "vieux" fil qui en parle, mais pas de sources définitives ... http://groups.google.com/group/android-beginners/browse_thread/thread/f1848285f8f3b60c –

Questions connexes