Воспроизведение нескольких звуков одновременно с AVAudioPlayer - PullRequest
4 голосов
/ 09 июня 2011

Может ли кто-нибудь помочь мне с функцией, которая запускает несколько AVAudioPlayer с одновременно? Прямо сейчас я пытаюсь заставить в общей сложности двенадцать AVAudioPlayer с срабатывать одновременно, если активированы двенадцать кнопок, но есть задержка, и кажется, что кто-то нажимает пальцем на пианино вместо того, чтобы нажимать все клавиши сразу ,

Я посмотрел на Audio Queue Services и не могу понять, как на самом деле реализовать это в коде, но он говорит, что он может воспроизводить синхронизированные звуки. Я не уверен, как установить все это. Я пытаюсь переделать приложение Tone Grid.

Ответы [ 2 ]

4 голосов
/ 24 июня 2011

Почему бы вам не использовать http://www.hollance.com/2011/02/soundbankplayer-using-openal-to-play-musical-instruments-in-your-ios-app/

Там у вас есть полифонический проигрыватель, прекрасно закодированный и готовый к игре!

Я использовал его в своем первом приложении некоторое время назад: http://itunes.apple.com/gb/app/chordwheel-pro/id406836326?mt=8

0 голосов
/ 26 ноября 2011

Вы вызываете метод prepareToPlay на всех 12 AVAudioPlayer экземплярах.Из документов: «Вызов этого метода, предварительная загрузка буферов и получение оборудования для минимизации задержки».

См. Справочник по классу AVAudioPlayer .

...