играть два звука одновременно iphone SDK - PullRequest
0 голосов
/ 27 апреля 2009

Я пытаюсь сделать небольшое музыкальное приложение на iphone. Я хочу иметь октавное пианино, которое будет реагировать на прикосновения и играть на клавишах или клавишах, к которым прикасается пользователь. Как я мог бы заставить два или более звука играть одновременно, чтобы это звучало как аккорд? Я попытался использовать AVFoundation, но два звука просто воспроизводятся один за другим.

Ответы [ 2 ]

2 голосов
/ 27 апреля 2009

Вы должны использовать AudioQueueServices. Документы здесь:

Apple.com - Справочник по AudioQueueServices

По сути, вам придется написать некоторый код, чтобы открыть несколько выходов, а затем заполнить очередь и сделать так, чтобы они блокировались до AudioQueueStart (AudioQueueRef aq), пока все не будет заполнено и готово, а затем отпустить их.

К сожалению, AVAudioPlayer недостаточно хорош для такого рода вещей.

0 голосов
/ 07 июня 2010

Если вы создаете несколько AVAudioPlayer, вы можете воспроизводить их одновременно, и они будут смешиваться в соответствии с ограничениями, изложенными в документации (не все типы файлов могут воспроизводиться одновременно).

Если вы сначала выделите их, а затем воспроизведите их по порядку, они будут играть практически одновременно.

Если вам нужно абсолютно идеальное время, используйте AudioQueue, как описано выше, или используйте OpenAL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...