Как добавить два аудиоустройства ввода / вывода в 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)
}
Другие вопросы по тегам