J'essaie de lire et de lire un fichier audio dans le lecteur multimédia et une fois que le fichier est complètement lu, je fais une boucle depuis une certaine position à partir de ce fichier spécifique et je répète la boucle.Bouclage dans Android Media Player
J'ai vu une méthode seekTo() qui joue à partir d'un point spécifique, mais je suis confus de la façon de lire d'abord le fichier complètement, puis d'utiliser la fonction seekTo.
Toute aide serait appréciée. Sudo code aidera un puits.
Ajout de code:
Voici le code que je l'ai essayé mais il laisse un vide pendant environ une seconde avant de jouer à nouveau le son.
public void playBackgroundMusic() {
AssetFileDescriptor descriptor = null;
try {
descriptor = context.getAssets().openFd("music/" + FILE_NAME);
try {
this.mediaPlayer.setDataSource(descriptor.getFileDescriptor(),
descriptor.getStartOffset(), descriptor.getLength());
} catch (IllegalStateException e) {
this.mediaPlayer.reset();
this.mediaPlayer.setDataSource(descriptor.getFileDescriptor(),
descriptor.getStartOffset(), descriptor.getLength());
}
if (listener != null) {
this.mediaPlayer.setOnCompletionListener(listener);
}
this.mediaPlayer.setOnErrorListener(new OnErrorListener() {
@Override
public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
return false;
}
});
this.mediaPlayer.setLooping(false);
this.mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
this.mediaPlayer.prepare();
this.mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (descriptor != null) {
descriptor.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
private OnCompletionListener listener = new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
mp.seekTo(DEFAULT_LOOPING_TIME);
mp.start();
}
};
qui api votre utilisation pour effectuer cette tâche. pouvez-vous poster ce que vous avez essayé .. –
@ TechEnd J'utilise api 8 (Android 2.2) pour effectuer cette tâche. Je n'ai pas encore commencé à mettre en œuvre la chose, mais je n'ai pas pu mettre la mise en œuvre directement dans ma tête. –
Je veux dire que vous utilisez API AudioRecord ou API Android MediaPlayer ??? Je dint poser des questions sur la version. –