Вопрос

Мне нужно воспроизведение аудио с такими функциями: хорошая производительность (для игры), контроль высоты тона и возможность наложения одного и того же сэмпла несколько раз в одно и то же время (полифония). Какой быстрый способ получить это на iphone SDK?

<Ч>

Вот что я узнал до сих пор:

Нет доступных библиотек или примеров кода, которые делают это, пожалуйста, покажите мне неправильно.

SoundEngine.cpp (из примеров кода CrashLanding и TouchFighter) использует OpenAL и позволяет контролировать высоту тона, но каждый раз, когда запускается буфер, если воспроизводится тот же буфер, его точка воспроизведения возвращается к началу.

Одно грязное решение для получения полифонии с SoundEngine.cpp, не вдаваясь в его реализацию (что мне непонятно), состоит в загрузке нескольких буферов для одного и того же звукового файла. Допустим, мне нужна полифония максимум 4 голосов на звук, затем я загружаю 4 буфера для одного и того же файла. Я просто должен был бы обернуть все это в классе менеджера. Безопасно ли идти по этому пути? И / или есть ли способ заставить SoundEngine.cpp быть полифоническим?

Это было полезно?

Решение

FMOD (www.fmod.org) предоставляет все эти функции. Посмотрите их пример виртуальных голосов для полифонии и эффекта DSP смещения высоты тона в документах.

Я просто клиент, никак не связанный с ними.

Другие советы

SoundEngine от CrashLanding - беспорядок, я бы держался подальше от этого. Написание того, что вы хотите от OpenAL, не сложно, это несколько часов работы. Вы можете посмотреть на Финч или на Cocos 2D sound egine .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top