AVAudioNode
Наследование
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в iOS 8.0 и позже.
AVAudioNode
класс является абстрактным классом для аудио генерации, обработки или блока I/O.
AVAudioEngine
объекты содержат экземпляры различных AVAudioNode
подклассы. Этот базовый класс обеспечивает определенную общую функциональность.
Узлы имеют шины ввода и вывода, которые могут считаться точками подключения. Например, эффект обычно имеет одну входную шину и одну выходную шину. Микшер обычно имеет многократные входные шины и одну выходную шину.
Шины имеют форматы, выраженные с точки зрения частоты дискретизации и количества каналов. При создании соединений между узлами часто формат должен соответствовать точно. Однако существуют исключения такой как AVAudioMixerNode
и AVAudioOutputNode
классы.
Узлы в настоящее время не обеспечивают полезную функциональность, пока не присоединено к механизму.
-
Возвращает формат ввода для указанной шины.
Объявление
Swift
func inputFormatForBus(_
bus
: AVAudioNodeBus) -> AVAudioFormat!Objective C
- (AVAudioFormat *)inputFormatForBus:(AVAudioNodeBus)
bus
Параметры
bus
Шина.
Возвращаемое значение
AVAudioFormat
объект, представляющий формат ввода шины.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Имя входной шины.
Объявление
Swift
func nameForInputBus(_
bus
: AVAudioNodeBus) -> String!Objective C
- (NSString *)nameForInputBus:(AVAudioNodeBus)
bus
Параметры
bus
Входная шина.
Возвращаемое значение
Имя входной шины.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
numberOfInputs
СвойствоЧисло входных шин для узла. (только для чтения)
Объявление
Swift
var numberOfInputs: Int { get }
Objective C
@property(nonatomic, readonly) NSUInteger numberOfInputs
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Возвращает выходной формат для указанной шины.
Объявление
Swift
func outputFormatForBus(_
bus
: AVAudioNodeBus) -> AVAudioFormat!Objective C
- (AVAudioFormat *)outputFormatForBus:(AVAudioNodeBus)
bus
Параметры
bus
Шина.
Возвращаемое значение
AVAudioFormat
объект, представляющий выходной формат шины.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
-
Имя выходной шины.
Объявление
Swift
func nameForOutputBus(_
bus
: AVAudioNodeBus) -> String!Objective C
- (NSString *)nameForOutputBus:(AVAudioNodeBus)
bus
Параметры
bus
Выходная шина.
Возвращаемое значение
Имя выходной шины.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
numberOfOutputs
СвойствоЧисло выходных шин для узла. (только для чтения)
Объявление
Swift
var numberOfOutputs: Int { get }
Objective C
@property(nonatomic, readonly) NSUInteger numberOfOutputs
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
См. также
-
Устанавливает аудио касание на шине для записи. монитор, и наблюдает вывод узла
Объявление
Swift
func installTapOnBus(_
bus
: AVAudioNodeBus, bufferSizebufferSize
: AVAudioFrameCount, formatformat
: AVAudioFormat!, blocktapBlock
: AVAudioNodeTapBlock!)Objective C
- (void)installTapOnBus:(AVAudioNodeBus)
bus
bufferSize:(AVAudioFrameCount)bufferSize
format:(AVAudioFormat *)format
block:(AVAudioNodeTapBlock)tapBlock
Параметры
bus
Выходная шина узла, к которой можно присоединить касание.
bufferSize
Требуемый размер входящих буферов. Реализация может выбрать другой размер.
format
Если не -
nil
, попытки применить это как формат указанной выходной шины.Это должно только быть сделано при присоединении к выходной шине, не подключенной к другому узлу; ошибка закончится иначе. Касание и форматы соединения (если не -
nil
) на указанной шине должно быть идентичным. Иначе, последняя работа переопределит любой ранее формат набора.Для
AVAudioOutputNode
, коснитесь формат должен быть указан какnil
.tapBlock
Блок, который вызовут с аудио буферами. Посмотрите
AVAudioNodeTapBlock
для блочных параметров.Обсуждение
Только одно касание может быть установлено на любой шине. В то время как механизм работает, касания могут быть безопасно установлены и удалены.
AVAudioEngine *engine = [[AVAudioEngine alloc] init];
AVAudioInputNode *input = [engine inputNode];
AVAudioFormat *format = [input outputFormatForBus: 0];
[input installTapOnBus: 0 bufferSize: 8192 format: format block: ^(AVAudioPCMBuffer *buf, AVAudioTime *when) {
// ‘buf' contains audio captured from input node at time 'when'
}];
....
// start engine
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
-
Удаляет аудио касание на шине.
Объявление
Swift
func removeTapOnBus(_
bus
: AVAudioNodeBus)Objective C
- (void)removeTapOnBus:(AVAudioNodeBus)
bus
Параметры
bus
Выходная шина узла, касание которой должно быть удалено.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
-
engine
СвойствоАудио механизм узла. (только для чтения)
Объявление
Swift
var engine: AVAudioEngine! { get }
Objective C
@property(nonatomic, readonly) AVAudioEngine *engine
Обсуждение
Возвраты
nil
если узел не присоединен к аудио механизму.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
-
lastRenderTime
СвойствоВремя, в течение которого последний раз представляется узел. (только для чтения)
Объявление
Swift
var lastRenderTime: AVAudioTime! { get }
Objective C
@property(nonatomic, readonly) AVAudioTime *lastRenderTime
Обсуждение
Возвратиться
nil
если узел не подключен к узлу ввода или вывода, если механизм не работает или.Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
-
Очистите предыдущее состояние обработки модуля.
Объявление
Swift
func reset()
Objective C
- (void)reset
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.
Типы данных
-
Блок, получающий копии вывода
AVAudioNode
.Объявление
Swift
typealias AVAudioNodeTapBlock = (AVAudioPCMBuffer!, AVAudioTime!) -> Void
Objective C
typedef void (^AVAudioNodeTapBlock)(AVAudioPCMBuffer *buffer, AVAudioTime *when);
Обсуждение
Этот блок имеет два параметра:
buffer
параметр является буфером аудио, полученного от выводаAVAudioNode
.when
параметр является временем, буфер был получен.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в iOS 8.0 и позже.