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 *)
node
bus:(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 *)
node
bus:(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 *)
node1
to:(AVAudioNode *)node2
format:(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 *)
node1
to:(AVAudioNode *)node2
fromBus:(AVAudioNodeBus)bus1
toBus:(AVAudioNodeBus)bus2
format:(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: MusicSequence
Objective 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
Возвраты, ссылкой, описание ошибки.
Возвращаемое значение
YES
true
если аудио механизм запустился успешно; иначе,NO
false
.Обсуждение
Этот метод вызывает
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
Обсуждение
Значение
YES
true
если аудио механизм работает, иначе,NO
false
.Оператор импорта
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: myObject
selector:@selector(handleInterruption:)
name:AVAudioEngineConfigurationChangeNotification
object:audioEngine];
Когда модуль I/O аудио механизма наблюдает изменение в аудиовходе или выходном количестве каналов аппаратных средств или частоте дискретизации, аудио остановках механизма, деинициализирует себя и выпускает это уведомление.
Оператор импорта
Objective C
@import AVFoundation;
Swift
import AVFoundation
Доступность
Доступный в OS X v10.10 и позже.