AVCaptureAudioDataOutput
AVCaptureAudioDataOutput конкретный подкласс AVCaptureOutput то, что Вы используете, через его делегата, для обработки буферов аудиосэмпла от получаемого аудио.
Наследование
-
NSObject -
AVCaptureOutput -
AVCaptureAudioDataOutput
-
NSObject -
AVCaptureOutput -
AVCaptureAudioDataOutput
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.7 и позже.
-
Устанавливает делегата, который примет полученные буферы и диспетчеризирует очередь, на которой вызовут делегата.
Объявление
Swift
func setSampleBufferDelegate(_sampleBufferDelegate: AVCaptureAudioDataOutputSampleBufferDelegate!, queuesampleBufferCallbackQueue: dispatch_queue_t!)Objective C
- (void)setSampleBufferDelegate:(id<AVCaptureAudioDataOutputSampleBufferDelegate>)sampleBufferDelegatequeue:(dispatch_queue_t)sampleBufferCallbackQueueПараметры
sampleBufferDelegateОбъект, соответствующий
AVCaptureAudioDataOutputSampleBufferDelegateпротокол, который получит демонстрационные буферы после того, как они будут получены..sampleBufferCallbackQueueНеобходимо передать последовательную отгрузку, чтобы гарантировать, что аудиосэмплы будут поставлены в порядке.
Значение может не быть
NULL, кроме тех случаев, когда установкаsampleBufferDelegateкnil.Обсуждение
Когда новый буфер аудиосэмпла получен, он продается демонстрационному буферному делегату, использующему
captureOutput:didOutputSampleBuffer:fromConnection:метод делегата. Все методы делегата вызывают на указанной очереди отгрузки.Если очередь будет блокирована, когда новые выборки будут получены, то те выборки будут автоматически отброшены, когда они становятся достаточно поздними. Это позволяет Вам обрабатывать существующие выборки на той же очереди, не имея необходимость управлять потенциальными увеличениями использования памяти, которые иначе произошли бы, когда та обработка неспособна не отставать от уровня входящих выборок.
Если необходимо минимизировать возможности отбрасываемых выборок, необходимо указать очередь, на которой достаточно мелкая сумма обработки делается за пределами получения демонстрационных буферов. При миграции дополнительной обработки на другую очередь Вы ответственны за обеспечение, что использование памяти не растет без связанного от необработанных выборок.
Специальные замечания
Этот метод использование
dispatch_retainиdispatch_releaseуправлять очередью.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
sampleBufferDelegate sampleBufferDelegateСвойствоДелегат объекта получения. (только для чтения)
Объявление
Swift
var sampleBufferDelegate: AVCaptureAudioDataOutputSampleBufferDelegate! { get }Objective C
@property(nonatomic, readonly) id< AVCaptureAudioDataOutputSampleBufferDelegate > sampleBufferDelegateОбсуждение
Вы используете делегата для управления входящими данными.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
Очередь, на которую обратные вызовы делегата вызываются (только для чтения)
Объявление
Swift
var sampleBufferCallbackQueue: dispatch_queue_t! { get }Objective C
@property(nonatomic, readonly) dispatch_queue_t sampleBufferCallbackQueueОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
-
audioSettings audioSettingsСвойствоНастройки раньше декодировали или повторно кодировали аудио, прежде чем оно будет выведено.
Объявление
Swift
var audioSettings: [NSObject : AnyObject]!Objective C
@property(nonatomic, copy) NSDictionary *audioSettingsОбсуждение
Значение этого свойства является словарем, содержащим значения для ключей параметров звука, определенных в Константах Параметров звука Основы AV.
Если значение этого свойства
nil, выборки выводятся в их собственном формате устройства.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.7 и позже.
