Обратный вызов аудиоустройства iPhone - PullRequest
2 голосов
/ 19 июня 2010

Я смотрю на Основы разработки аудиоустройства .Предполагая

   UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;
   status = AudioSessionSetProperty(
            kAudioSessionProperty_AudioCategory,
            sizeof(sessionCategory),
            &sessionCategory);

с частотой дискретизации 44,1000 и выделяя буфер, достаточно большой, чтобы удерживать 1-секундную запись

  1. Как часто будет вызываться метод обратного вызова записи?
  2. Один раз в секунду?
  3. Какой алгоритм используется для вызова метода обратного вызова?

Заранее спасибо за помощь

1 Ответ

3 голосов
/ 23 января 2011

Предполагая, что вы не установили свойство kAudioUnitProperty_MaximumFramesPerSlice на соответствующем аудиоустройстве, цикл рендеринга будет выполняться (таким образом вызывая ваш обратный вызов) один раз каждые FRAMES_PER_SLICE / SAMPLE_RATE секунд.При частоте 44,1 кГц и максимальных кадрах по умолчанию на срез 1024 получается значение 1024 / 44100 или ~0.023 seconds / ~23 milliseconds.Это чуть более 43 раз в секунду.

Я не уверен насчет вашего третьего вопроса.Вы спрашиваете, как Аудиоустройство внутренне определяет, вызывать или нет (один из) его обратный вызов (-ы)?

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