воспроизводить звук во время сбоя записи - PullRequest
1 голос
/ 01 декабря 2011

У меня есть сторонний SDK, который обрабатывает аудиозапись. Он имеет обратный вызов, когда начинается запись. В обратном вызове я пытаюсь воспроизвести звук, чтобы указать пользователю, что устройство сейчас слушает (например, Siri или любой другой способ распознавания речи), но при попытке я получаю следующую ошибку:

AURemoteIO :: ChangeHardwareFormats: ошибка -10875

Я попытался воспроизвести звук, используя AudioServicesPlaySystemSound, а также AVAudioPlayer, оба с одинаковым результатом. Звук воспроизводится нормально в других случаях, и, по моему мнению, из-за несовместимости между воспроизведением и записью на аппаратном уровне существует несовместимость. Кто-нибудь может прояснить эту ошибку или дать подсказку о возможном обходном пути?

Ответы [ 3 ]

1 голос
/ 01 декабря 2011

Убедитесь, что аудио сеанс инициализирован и настроен для Play_and_Record, прежде чем начинать запись аудиоустройства RemoteIO.

0 голосов
/ 10 марта 2012

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

0 голосов
/ 01 декабря 2011

Вы не должны и, скорее всего, не можете начать воспроизведение звука в обратном вызове записи RemoteIO.Только установите логический флаг в обратном вызове, чтобы указать, что звук должен быть воспроизведен.Воспроизведите звук из основного цикла запуска пользовательского интерфейса.

...