2014-07-24 3 views
0

J'essaye d'obtenir deux fichiers sonores à jouer en séquence. Mon application devrait "compter" et je voudrais utiliser les fichiers "vingt" et "un" au lieu d'avoir un fichier "vingtone" supplémentaire. Je suis assez sûr que je dois utiliser un OnCompletionListener pour cela et j'ai trouvé quelques réponses précédentes qui expliquent comment l'utiliser mais je n'arrive pas à comprendre comment les implémenter (je suis assez nouveau à ce sujet car vous pourriez J'ai deviné.)Comment implémenter un OnCompletionListener pour cette situation?

C'est la réponse qui, selon moi, s'applique le mieux à mon problème.

How to play audio files one after the other

Voici mon code sans toute tentative de mise en œuvre du OnCompletionListener.

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.TextView; 


public class GameActivity extends Activity { 

TextView generatedNumberTV; 
EditText inputNumberET; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.game_layout); 

    generatedNumberTV = (TextView) findViewById(R.id.number_view); 
    inputNumberET = (EditText) findViewById(R.id.number_input); 

} 

public void onSendGenerate(View view) { 

    MediaPlayer twenty = MediaPlayer.create(GameActivity.this, R.raw.twenty); 
    MediaPlayer one = MediaPlayer.create(GameActivity.this, R.raw.one); 

    twenty.start(); 
    one.start(); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

} 

Avec ce code, les deux fichiers audio sont lus en même temps.

Je suis coincé sur cela depuis un moment maintenant, toute aide serait grandement appréciée.

Répondre

0

d'abord vous définissez le onCompletionListener pour votre objet MediaPlayer:

twenty.setOnCompletionListener(listener);

Et l'auditeur, vous avez besoin de mettre en œuvre une méthode appelée onCompletion() qui a un MediaPlayer comme paramètre (qui est le MediaPlayer courant listened par l'auditeur). Référence: MediaPlayer.onCompletionListener

Questions connexes