J'ai un problème avec AVAudioPlayer dans lequel je veux réinitialiser un lecteur s'il est en cours de lecture et le faire jouer à nouveau.AVAudioPlayer réinitialise le son en cours de lecture et le reproduit depuis le début
J'essaie ce qui suit à pas de chance:
Le son joue une fois mais la deuxième fois que je sélectionne le bouton, il arrête le son, la troisième fois commence le son à nouveau.
//Stop the player and restart it
if (player.playing) {
NSLog(@"Reset sound: %@", selectedSound);
[player stop];
[player play];
} else {
NSLog(@"playSound: %@", selectedSound);
[player play];
}
J'ai aussi essayé d'utiliser player.currentTime = 0, ce qui indique que cela réinitialiser le lecteur, qui ne fonctionne pas, j'ai aussi essayé de réinitialiser currentTime = 0 puis appeler le jeu qui ne fonctionne pas.
//Stop the player and restart it
if (player.playing) {
NSLog(@"Reset sound: %@", selectedSound);
player.currentTime = 0;
[player play];
} else {
NSLog(@"playSound: %@", selectedSound);
[player play];
}
FWIW, j'ai vu que la mise à zéro juste currentTime suffit. Avec la méthode décrite ici, je vois l'audio refuser de jouer après l'avoir fait plusieurs fois de suite. – Plumenator