Я работал над проектом CoreAudio, когда мой Mac был на версии 10.11, где я взял CAPlayThroughExample (https://developer.apple.com/library/archive/samplecode/CAPlayThrough/Introduction/Intro.html#//apple_ref/doc/uid/DTS10004443-Intro-DontLinkElementID_2) и изменил только отдельные части функций рендеринга ввода и вывода для доступа к различным буферным потокам. Этот код работал в Mac OS 10.11, 10.12 и 10.13. На 10.14 при проигрывании звука с моего внешнего аудиоинтерфейса была полная тишина. Когда я записал некоторые образцы из Input Proc, все буферы были 0.0
. Поэтому я понизил версию своего Mac до 10.13, и тот же код работал. Я осмотрелся и погуглил все, но, похоже, не нашел никаких официальных ресурсов на веб-сайте Apple, чтобы узнать, были ли какие-либо изменения API.
На 10.14 вам нужно добавить NSMicrophoneUsageDescription
в файл Info.plist
. Подробнее здесь.
Таким образом, в примере в ссылке говорится, что нужно добавить его в список, а также добавить код для проверки. Я последовал примеру и шагам для запроса авторизации, но теперь список аудиобуфер пуст во входном rendercall back
привет, спасибо за предложение. статья, которую вы мне прислали, великолепна. Я добавил разрешение микрофона, но все равно получаю то же самое. Интересно, что в статье упоминается, что если вы получаете это сообщение об ошибке
Unable to load Info.plist exceptions (eGPUOverrides)
, значит, с проблемой что-то не так. мне нужно будет исследовать это дальше