2016-04-29 8 views
2

У меня есть метод, который полагается на знание скорости дискретизации и продолжительности буфера для вычисления некоторых значений. В настоящее время реализация этого на прошивкой выглядит следующим образом:Метод определения текущей скорости буфера оборудования и SampleRate на OSX

double sampleRate = [[AVAudioSession sharedInstance] sampleRate]; 
double bufferDuration = [[AVAudioSession sharedInstance] IOBufferDuration]; 
float bufferLength = sampleRate*bufferDuration; 

Однако на OSX, то AVAudioSession класс не распознается и не появляется, чтобы быть частью SDK. И документация по подобным вещам кажется очень скудной.

Как запросить те же значения на OSX OS?

ответ

1

Для определения длины буфера, см этого предыдущего ответа: OSX: CoreAudio API for setting IO Buffer length? указывая на этой компании Apple технологий записка о некоторых свойствах Core Audio с добытчиками и сеттерами: https://developer.apple.com/library/mac/technotes/tn2321/_index.html#//apple_ref/doc/uid/DTS40013499-CH1-THE_I_O_BUFFER_SIZE

Для определения частоты дискретизации см этого предыдущего ответа: CoreAudio get output sample rate относительно свойства kAudioUnitProperty_SampleRate.