IOS: ошибка в симуляторе с помощью AudiounitrenderIOS

Программируем под IOS
Ответить
Anonymous
 IOS: ошибка в симуляторе с помощью Audiounitrender

Сообщение Anonymous »

Я ударил еще одну ошибку симулятора iOS. У меня вопрос: есть ли обходной путь? < /P>

ошибка такова /strong> Sample Project. < /p>

и просто распечатайте количество кадров, полученных с помощью обратного вызова < /strong> (в auriotouchappdelegate.mm) < /p>

static OSStatus PerformThru(
void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData)
{
printf( "%u, ", (unsigned int)inNumberFrames );
< /code>

Я получаю следующий вывод: < /p>

471, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, ...
< /code>

Однако, если вы прокомментируете вызов audiounitrender < /strong> в следующей строке: < /p>

{
printf( "%u, ", (unsigned int)inNumberFrames );

aurioTouchAppDelegate *THIS = (aurioTouchAppDelegate *)inRefCon;
OSStatus err = 0; // AudioUnitRender(THIS->rioUnit, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData);
< /code>

теперь он отправляет соответствующее количество поплавок каждый раз. < /p>

471, 470, 471, 470, 470, 471, 470, 471, 470, 470, 471, 470, 471, 470, 470, 471, 470,
< /code>

Другой вопрос, который у меня есть: почему такое случайное число, как 470, 471? Я где -то читал, что вы неявно указываете длину буфера, указав его продолжительность времени, и он устанавливает длину буфера на мощность двух, которая дает лучшее приближение к этой продолжительности . Но эмпирические данные свидетельствуют о том, что это не так. < /P>

В любом случае, почти уверен, что это ошибка. Я собираюсь пойти на это. Если кто -то может пролить свет, пожалуйста, сделайте!

Подробнее здесь: https://stackoverflow.com/questions/663 ... unitrender
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»