iOS AudioUnit нет звука при воспроизведении через отладчик, но нормально при запуске приложения на телефоне напрямую (на старых iPhone) - PullRequest
0 голосов
/ 01 августа 2020

Я немного переписал свои AudioUnits, включив NewTimePitch FormatConverter, и имел 3 обратных вызова рендеринга для каждого преобразователя NewTimePitch, и он, в свою очередь, подключен к микшеру.

Мой первоначальный график был микшером с 3 рендерингом обратные вызовы, подключенные к выходу.

Сначала я использовал 16-битные звуки, а затем перешел на Float32, так как это форма, ожидаемая NewTimePitch.

Код работал на новых iPhone устройствах , и у меня не было звука на старых устройствах (iPhone 4S, iPhone 5). Я подумал, что, возможно, график был слишком ресурсоемким для старых телефонов. Я начал с обрезки графа и тестирования 1, затем 2 узлов с обратными вызовами рендеринга. Это помогло мне найти и исправить некоторые проблемы, и все работало хорошо.

Но все еще нет звука на старых устройствах с одним узлом / обратными вызовами рендеринга! (Остальные 2 вроде бы в порядке).

Но, как ни странно, когда я остановил отладчик и запустил приложение на iPhone напрямую, он работал нормально, и я получал звук, как ожидалось. Затем я включил все три узла.

На этот раз ни один из трех обратных вызовов рендеринга не издавал звука при работе через отладчик. Но когда я запустил приложение непосредственно на iPhone, оно, похоже, работало нормально!

Ничего подобного я не испытывал, поэтому немного почесал голову. Возможно ли, что гарантии времени не удовлетворяются более сложным графиком и обработкой (не говоря уже о Float32 vs Int16) в среде отладки?

Спасибо, Sridhar

...