Какая технология воспроизведения аудио мне нужна для этого? - PullRequest
2 голосов
/ 20 марта 2010

У меня проблемы с выбором правильной технологии воспроизведения звука. На iPhone есть масса технологий, которые так запутывают.

Что мне нужно сделать, это:

  • начать воспроизведение коротких звуков в диапазоне от 0,1 до 2 секунд

  • высококачественное воспроизведение без треск (я слышал, что некоторые технологии воспроизведения аудио на iPhone создают треск при начале или конце, что плохо!)

  • возможность начать воспроизведение звука, хотя уже сейчас воспроизводится еще один (два, три или более звука одновременно)

Что бы вы предложили здесь и почему? Спасибо: -)

1 Ответ

7 голосов
/ 20 марта 2010

Существует четыре основных варианта воспроизведения звука на iPhone:

  1. Audio Toolbox . Легко, но хорошо только для воспроизведения звуковых эффектов в приложениях ( пример кода ).

  2. Службы аудио-очереди . Очень мощный, может сделать все что угодно. C API, довольно грязный для работы. Обратные звонки, ведра, боль.

  3. AVAudioPlayer . О самом простом варианте. Может воспроизводить сжатый звук, с помощью простой оболочки вы можете легко воспроизводить несколько экземпляров одного и того же семпла одновременно (только несжатый звук, поскольку имеется только один HW-аудио декодер). Начало воспроизведения звука с AVAudioPlayer похоже на отставание около 20 мс , может быть проблемой.

  4. OpenAL . Достойный компромисс между сложностью и возможностями. Звуки не запаздывают, вы можете играть несколько звуков, но вы должны выполнять большую часть работы самостоятельно. Я написал звуковой движок Финч , который может вам помочь.

Не знаю много о взломе, никогда не испытывал его. Я думаю, что были некоторые проблемы с воспроизведением бесшовных сжатых циклов с AVAudioPlayer, которые можно преодолеть, сохранив цикл без сжатия.

...