Mam problem z AVAudioPlayer, w którym chcę zresetować odtwarzacz, jeśli jest on aktualnie odtwarzany i odtworzyć go ponownie.Resetowanie AVAudioPlayer odtwarza teraz dźwięk i odtwarza go od początku
staram następujące bez powodzenia:
Dźwięk odgrywa raz, ale wtedy drugi raz wybrać przycisk zatrzymuje dźwięk, po raz trzeci rozpoczyna dźwięk ponownie.
//Stop the player and restart it
if (player.playing) {
NSLog(@"Reset sound: %@", selectedSound);
[player stop];
[player play];
} else {
NSLog(@"playSound: %@", selectedSound);
[player play];
}
Ja również próbowałem przy użyciu player.currentTime = 0, który wskazuje, że resetowanie odtwarzacza, który nie działa, próbowałem również zresetowanie CurrentTime = 0, a następnie wywołanie luz, że nie działa.
//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, widziałem, że po prostu ustawienie CurrentTime do zera to za mało. Dzięki opisanej tutaj metodzie widzę, że dźwięk nie chce grać po kilkukrotnym wykonaniu w krótkim odstępie czasu. – Plumenator