Я использую OpenAL для музыкального приложения для iPad. Раньше он работал нормально, но теперь, после обновления моего устройства до iOS 4.3, появляются треск / треск при воспроизведении. Они становятся очевидными, когда воспроизводятся несколько сэмплов (то есть аккордов), и происходят в начале нового сэмпла, после того, как 1-й или 2-й сэмпл уже был воспроизведен. Помимо этих артефактов, остальная часть аудиовыхода нормальная.
Я буферирую аудиоданные для каждого инструмента, создаю источник для каждого воспроизводимого звука и присоединяю источник к кешируемому буферу. Буфер прикрепляется к образцу аудиоданных с помощью alBufferDataStaticProc ()
Я также изменил AL_FREQUENCY контекста AL, чтобы он соответствовал частоте дискретизации файлов (16 кГц), но это устраняет проблему только тогда, когда воспроизводимый сэмпл (источник) имеет значение AL_PITCH, равное 1. является то, что если вы измените AL_PITCH, вы измените выходную частоту источника, которая не будет соответствовать выходной частоте контекста AL, вызывая проблему
Часть кода заимствована из Finch, которая выполняет большую часть инициализации данных. Вот URL к исходному коду: https://github.com/zoul/Finch
Я с нетерпением жду любых указателей.