AVAudioEngine
AVAudioEngine класс определяет группу связанных AVAudioNode объекты, известные как аудио узлы. Вы используете аудио узлы, чтобы генерировать звуковые сигналы, обработать их, и выполнить аудиовход и вывести.
Вы создаете каждый аудио узел отдельно и присоединяете его к аудио механизму. Можно выполнить все аудио операции узла в течение времени выполнения — соединение их, разъединение их, и удаление их — с только незначительными ограничениями:
Повторно соедините аудио узлы только, когда они будут восходящими из микшера..
Если Вы удалите аудио узел, имеющий отличающиеся количества каналов ввода и вывода, или который является микшером, то результатом, вероятно, будет поврежденный график.
Оператор импорта
Swift
import AVFoundation
Objective C
@import AVFoundation;
Доступность
Доступный в OS X v10.10 и позже.
-
Инициализирует недавно выделенный аудио механизм.
Объявление
Swift
init!()Objective C
- (instancetype)initВозвращаемое значение
Инициализированный
AVAudioEngineэкземпляр.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
Присоединяет новый аудио узел к аудио механизму.
Объявление
Swift
func attachNode(_node: AVAudioNode!)Objective C
- (void)attachNode:(AVAudioNode *)nodeПараметры
nodeАудио узел, чтобы быть присоединенными к аудио механизму.
Обсуждение
Поддерживать инстанцирование произвольных
AVAudioNodeподклассы, экземпляры создаются внешне к аудио механизму, но неприменимы, пока не присоединено к аудио механизму с помощью этого метода. Таким образом идиома:// when building engine:AVAudioNode *_player; // member of controller class (for example)..._player = [[AVAudioPlayerNode alloc] init];[engine attachNode: _player];...// when destroying engine (without ARC)[_player release];
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
Отсоединяет аудио узел, ранее присоединенный к аудио механизму.
Объявление
Swift
func detachNode(_node: AVAudioNode!)Objective C
- (void)detachNode:(AVAudioNode *)nodeПараметры
nodeАудио узел, который будет отсоединен от аудио механизма.
Обсуждение
Если необходимо, аудио механизм безопасно разъединит аудио узел прежде, чем отсоединить его.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
Одиночный элемент аудио механизма ввел аудио узел. (только для чтения)
Объявление
Swift
var inputNode: AVAudioInputNode! { get }Objective C
@property(readonly, nonatomic) AVAudioInputNode *inputNodeОбсуждение
Аудио механизм создает одиночный элемент по требованию когда
inputNodeсначала получен доступ. Для получения ввода соедините другой аудио узел от вывода входного узла аудио или создайте касание записи на нем.Экземпляр AVAudioSesssion и/или доступность аппаратных функций определяют, может ли приложение выполнить ввод. Проверьте формат ввода входного узла (в частности, аппаратный формат) для ненулевой частоты дискретизации и количества каналов, чтобы видеть, включен ли введенный.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
outputNode outputNodeСвойствоОдиночный элемент аудио механизма вывел аудио узел. (только для чтения)
Объявление
Swift
var outputNode: AVAudioOutputNode! { get }Objective C
@property(readonly, nonatomic) AVAudioOutputNode *outputNodeОбсуждение
Когда к этому свойству сначала получают доступ, аудио механизм создает одиночный элемент по требованию. Подключите другой аудио узел к вводу выходного узла аудио или получите микшер, подключающийся по умолчанию, с помощью
mainMixerNodeсвойство.Экземпляр AVAudioSesssion и/или доступность аппаратных функций определяют, может ли приложение выполнить вывод. Проверьте выходной формат выходного узла (в частности, аппаратный формат) для ненулевой частоты дискретизации и количества каналов, чтобы видеть, включен ли выведенный.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
mainMixerNode mainMixerNodeСвойствоДополнительный одиночный элемент аудио механизма основной узел микшера. (только для чтения)
Объявление
Swift
var mainMixerNode: AVAudioMixerNode! { get }Objective C
@property(readonly, nonatomic) AVAudioMixerNode *mainMixerNodeОбсуждение
Когда к свойству сначала получают доступ аудио конструкции механизма одиночный элемент основной микшер и подключает его с
outputNodeпо требованию. Можно тогда подключить дополнительные аудио узлы к микшеру.По умолчанию выходной формат микшера (частота дискретизации и количество каналов) отследит формат выходного узла. Возможно сделать соединение явно с другим форматом.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Удаляет все входные соединения аудио узла.
Объявление
Swift
func disconnectNodeInput(_node: AVAudioNode!)Objective C
- (void)disconnectNodeInput:(AVAudioNode *)nodeПараметры
nodeАудио узел, вводы которого Вы хотите разъединить.
Обсуждение
Соединения повреждаются на каждой из входных шин аудио узла.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Удаляет входное соединение аудио узла на указанной шине.
Объявление
Swift
func disconnectNodeInput(_node: AVAudioNode!, busbus: AVAudioNodeBus)Objective C
- (void)disconnectNodeInput:(AVAudioNode *)nodebus:(AVAudioNodeBus)busПараметры
nodeАудио узел, ввод которого должен быть разъединен.
busВходная шина места назначения, которая будет разъединена.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Удалите все выходные соединения аудио узла.
Объявление
Swift
func disconnectNodeOutput(_node: AVAudioNode!)Objective C
- (void)disconnectNodeOutput:(AVAudioNode *)nodeПараметры
nodeАудио узел, выводы которого должны быть разъединены.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Удалите выходное соединение аудио узла на указанной шине.
Объявление
Swift
func disconnectNodeOutput(_node: AVAudioNode!, busbus: AVAudioNodeBus)Objective C
- (void)disconnectNodeOutput:(AVAudioNode *)nodebus:(AVAudioNodeBus)busПараметры
nodeАудио узел, вывод которого должен быть разъединен.
busВыходная шина места назначения для разъединения.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Устанавливает соединение между двумя аудио узлами.
Объявление
Swift
func connect(_node1: AVAudioNode!, tonode2: AVAudioNode!, formatformat: AVAudioFormat!)Objective C
- (void)connect:(AVAudioNode *)node1to:(AVAudioNode *)node2format:(AVAudioFormat *)formatПараметры
node1Исходный узел аудио.
node2Целевой аудио узел.
formatЕсли нет
NULL, формат исходной выходной шины узла аудио установлен в этоAVAudioFormatобъект. Во всех случаях формат входной шины целевого аудио узла установлен соответствовать ту из исходной выходной шины узла аудио.Обсуждение
Это вызовы метода
connect:to:fromBus:toBus:format:использование шины0для исходного узла аудио и шины0для целевого аудио узла, кроме случая места назначения, которое является микшером, когда место назначения является микшеромnextAvailableInputBus.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Установите соединение между двумя аудио узлами, указав шины ввода и вывода.
Объявление
Swift
func connect(_node1: AVAudioNode!, tonode2: AVAudioNode!, fromBusbus1: AVAudioNodeBus, toBusbus2: AVAudioNodeBus, formatformat: AVAudioFormat!)Objective C
- (void)connect:(AVAudioNode *)node1to:(AVAudioNode *)node2fromBus:(AVAudioNodeBus)bus1toBus:(AVAudioNodeBus)bus2format:(AVAudioFormat *)formatПараметры
node1Исходный узел аудио.
node2Целевой аудио узел.
bus1Выходная шина исходного узла аудио.
bus2Входная шина целевого аудио узла.
formatЕсли нет
NULL, формат исходной выходной шины узла аудио установлен в этоAVAudioFormatобъект. Во всех случаях формат входной шины целевого аудио узла установлен соответствовать ту из исходной выходной шины узла аудио.Обсуждение
Аудио узлы имеют шины ввода и вывода (
AVAudioNodeBus). Используйте этот метод для установления соединений между аудио узлами. Соединения являются всегда непосредственными, никогда one-many или many-one.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
musicSequence musicSequenceСвойствоМузыкальная последовательность, которая ранее была присоединена к аудио механизму.
Объявление
Swift
var musicSequence: MusicSequenceObjective C
@property(nonatomic) MusicSequence musicSequenceОператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
Подготавливает аудио механизм к запуску.
Объявление
Swift
func prepare()Objective C
- (void)prepareОбсуждение
Этот метод предварительно выделяет многие ресурсы, которых аудио механизм требует для запуска. Используйте его, чтобы запустить аудиовход или вывести более в ответ.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Запускает аудио двигатель.
Объявление
Swift
func startAndReturnError(_outError: NSErrorPointer) -> BoolObjective C
- (BOOL)startAndReturnError:(NSError **)outErrorПараметры
outErrorВозвраты, ссылкой, описание ошибки.
Возвращаемое значение
YEStrueесли аудио механизм запустился успешно; иначе,NOfalse.Обсуждение
Этот метод вызывает
prepareметод, если это уже не вызвали с тех порstopбыл вызван.Это тогда запускает аудио аппаратные средства через
AVAudioInputNodeи/илиAVAudioOutputNodeэкземпляры в аудио механизме.Ошибки могут произойти когда:
Существует проблема в структуре графика. Ввод не может быть направлен для вывода или к касанию записи через узлы типа преобразователя.
AVAudioSessionошибка произошлаДрайверу не удалось запустить аппаратные средства
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
выполнение выполнениеСвойствоВозвращает состояние выполнения аудио механизма. (только для чтения)
Объявление
Swift
var running: Bool { get }Objective C
@property(readonly, nonatomic, getter=isRunning) BOOL runningОбсуждение
Значение
YEStrueесли аудио механизм работает, иначе,NOfalse.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
Приостанавливает аудио механизм.
Объявление
Swift
func pause()Objective C
- (void)pauseОбсуждение
Останавливает поток аудио через аудио механизм, но не освобождает ресурсы, выделенные
prepare.Вы возобновляете аудио механизм путем вызова
startAndReturnError:снова.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Остановите аудио механизм.
Объявление
Swift
func stop()Objective C
- (void)stopОбсуждение
Высвобождает средства, выделенные
prepareметод.Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
См. также
-
Сброс все аудио узлы в аудио механизме.
Объявление
Swift
func reset()Objective C
- (void)resetОбсуждение
Это методы сбрасывает все аудио узлы в аудио механизме. Используйте его, например, для глушения хвостов задержки и реверберации.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
-
Отправленный, когда аудио изменения конфигурации механизма.
Регистр для этого уведомления на аудио экземплярах механизма, следующим образом:
[[NSNotificationCenter defaultCenter] addObserver: myObjectselector:@selector(handleInterruption:)name:AVAudioEngineConfigurationChangeNotificationobject:audioEngine];
Когда модуль I/O аудио механизма наблюдает изменение в аудиовходе или выходном количестве каналов аппаратных средств или частоте дискретизации, аудио остановках механизма, деинициализирует себя и выпускает это уведомление.
Оператор импорта
Objective C
@import AVFoundation;Swift
import AVFoundationДоступность
Доступный в OS X v10.10 и позже.
