Вы создаете новый экземпляр AVAudioPlayer
каждый раз.Вы должны удерживать ссылку на объект где-нибудь и возвращаться к этому.Добавьте поле в свой класс контроллера представления:
@private AVAudioPlayer *currentAudio;
И затем в этом методе внесите следующие изменения:
if (currentAudio) {
[currentAudio stop];
[currentAudio release];
currentAudio = nil;
} else {
// what you already have goes here
}