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>)
sampleBufferDelegate
queue:(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 и позже.