Для любой платформы воспроизведения звука на любой платформе вполне нормально производить тики, подобные этой, при остановке и перезапуске звука.Чтобы избежать этой проблемы, вместо внезапной остановки воспроизведения с помощью вызова stop
сначала следует уменьшить громкость с 1,0 до 0,0 в течение короткого периода времени (достаточно нескольких миллисекунд), а затем stop
или pause
,Когда вы возобновите воспроизведение, вы можете повернуть процесс вспять, увеличив громкость с 0,0 до 1,0.
Извините, я не знаю достаточно iPhonistics, чтобы рассказать вам, как выполнить такую операцию на основе таймера.Я удивлен, что библиотека AVAudioPlayer не делает этого уже, но есть другие аудио API, которые я уверен, делают.
Обновление: Если подумать, забудьте об этом.Понижение громкости с помощью таймера - ужасная идея, и она не сработает.Вам понадобится таймер с гораздо более высоким разрешением, чем это возможно, чтобы избежать эффекта понижения, который будет производить серию тиков и всплесков вместо одного.
Используйте другой API.