Как добавить два аудиоустройства ввода / вывода в AUGraph на iOS?
Как добавить два I/O audio Unit
в AUGraph в iOS? Один I/O AudioUnit
взять входной сигнал записи, другой взять выходной сигнал воспроизведения.
2 ответа
В настоящее время iOS позволяет использовать только один аудиоустройство для ввода-вывода, RemoteIO. Однако аудиоустройство RemoteIO может быть подключено к AUGraph для одновременной записи аудиовхода и воспроизведения аудиосигнала. Аудио маршрутизация может быть настроена через Audio Session API.
Если запись представляет собой файл, то я нашел этот пост очень полезным http://www.ithinkers.com.ua/blog-en/2017/3/16/how-to-make-offline-render-audio
// РЕДАКТИРОВАТЬ: после комментариев некоторые пояснения
Решение, описанное по ссылке выше, основано на преобразовании файлов в файл. Таким образом, в основном, если вам нужно решение "файл для вывода (колонки"), вам нужно поковыряться вокруг соединения выходного узла в augraph с этим описанием
//
static var outputDescription:AudioComponentDescription {
//
var theType:OSType
//
#if (os(iOS))
theType = kAudioUnitSubType_RemoteIO
#else
theType = kAudioUnitSubType_DefaultOutput
#endif
return AudioComponentDescription(componentType: kAudioUnitType_Output,
componentSubType: theType,
componentManufacturer: kAudioUnitManufacturer_Apple,
componentFlags: 0,
componentFlagsMask: 0)
}