Как решить проблему «Используемое оборудование» (код ошибки: «hwiu»)? - PullRequest
1 голос
/ 01 февраля 2011

Я создал приложение для iPhone с recording with AudioUnit, Conversion, Audio Editing и Merging частями.Я сделал все, кроме Conversion.Это приложение будет работать только в iOS 4. или выше.

Я пытался конвертировать .caf в файл .m4a.Но я получаю kAudioConverterErr_HardwareInUse ошибку.Затем я попытался преобразовать файл .caf в файл .wav.Затем файл .wav в файл .m4a.Но я получаю ту же проблему.

Мне не ясно с этой проблемой.В документации Apple они упоминаются как;

"Возвращается из функции AudioConverterFillComplexBuffer, если базовый аппаратный кодек стал недоступен, возможно, из-за прерывания звука.

При получении этой ошибки ваше приложение должно перестать вызывать AudioConverterFillComplexBuffer. Вы можете проверить значение свойства kAudioConverterPropertyCanResumeFromInterruption, чтобы определить, может ли используемый вами преобразователь возобновить обработку после прерывания. Если это так, то дождитесь прерывания-завершение вызова из Audio Session Services, повторная активация аудиосеанса и, наконец, возобновление использования кодека.

Если преобразователь не может возобновить обработку после прерывания, то при прерывании необходимо отказаться от преобразования, повторно создать экземпляр преобразователяи выполните преобразование снова. "

Пожалуйста, помогите мне разрешить его.

1 Ответ

0 голосов
/ 10 мая 2011

Я только что решил такую ​​проблему.В моем случае у меня есть MPMoviePlayerController, проигрыватель аудио-очереди, аудио-рекордер в приложении.

проигрывателю фильма необходимо вручную вызвать метод «stop», когда заканчивается содержимое.В противном случае состояние воспроизведения блокируется в MPMoviePlaybackStatePlaying.Тогда я больше не могу проигрывать MP3 и получать "hwiu", когда я пытаюсь это сделать.Но PCM все еще работает.

Возможно, это потому, что сжатый звук (MP3, AAC, ...) обрабатывается уникальным аппаратным устройством.Если вы используете различные методы (MPMoviePlayerController и служба аудио-очереди) для воспроизведения сжатого звука, вам необходимо отключить устройство один раз после окончания воспроизведения, поскольку все они находятся на одном устройстве.

...