Как решить проблему «Используемое оборудование» (код ошибки: «hwiu»)?

Я создал приложение для 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, повторно активируйте аудиосеанс и, наконец, возобновите использование кодека.

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

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


person jfalexvijay    schedule 01.02.2011    source источник


Ответы (1)


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

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

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

person Homer Wang    schedule 10.05.2011