Прежде всего: убедитесь, что вы не пытаетесь воспроизвести звук во второй раз, который уже был выпущен с помощью [player release];
Если это так, вы сразу получите это сообщение об ошибке. После того, как вы отпустите проигрыватель, связанный с определенным звуком, вы не сможете воспроизвести файл снова, как показано здесь. Попробуйте закомментировать эту строку кода и посмотрите, происходит ли она по-прежнему.
Я также столкнулся с проблемой, когда AVAudioPlayer
выделяет 32 КБ каждый раз, когда создается новый player
, и если у вас достаточно звуков, вы можете исчерпать память и получить сбой. Я очень сомневаюсь, что это ваша проблема, поскольку, как правило, этот код ошибки не выдается.
EXC_BAD_ACCESS
обычно пытается получить доступ к указателю, который больше не существует (например, ваш player
объект) для большинства случаев, которые я видел на этом форуме