2011-02-01 2 views
1

recording with AudioUnit, Conversion, Audio EditingMerging 부분의 iPhone 앱을 만들었습니다. 나는 Conversion을 제외한 모든 것을했습니다. 이 응용 프로그램은 iOS 4 이상에서만 작동합니다."하드웨어 사용 중"문제를 해결하는 방법 (오류 코드 : 'hwiu')?

.caf를 .m4a 파일로 변환하려고 시도했습니다. 하지만 kAudioConverterErr_HardwareInUse 오류가 발생합니다. 그런 다음 .caf 파일을 .wav 파일로 변환하려고했습니다. 그런 다음 .wav 파일을 .m4a 파일로 가져옵니다. 그러나 나는 똑같은 문제를 겪고있다.

이 문제는 명확하지 않습니다. Apple documentation에서 그들은 다음과 같이 언급했습니다. 기본 하드웨어 코덱을 사용할 수 없게 될 경우

는 "아마도 오디오 중단에의 AudioConverterFillComplexBuffer 함수에서 반환.

을이 오류를 수신, 응용 프로그램이 AudioConverterFillComplexBuffer를 호출 중지해야합니다. 당신은 kAudioConverterPropertyCanResumeFromInterruption의 값을 확인할 수 있습니다 속성을 사용하여 중단 후 처리를 재개 할 수 있는지 여부를 확인한 다음 오디오 세션 서비스에서 중단 된 호출을 기다린 후 오디오 세션을 다시 활성화하고 마지막으로 코덱 사용을 다시 시작하십시오. 변환기는 인터럽트 후 처리를 재개 할 수 없으며 인터럽트 후에는 다시 처리 할 수 ​​없습니다. n 변환을 포기하고 변환기를 다시 인스턴스화 한 다음 변환을 다시 수행해야합니다. "

문제를 해결하는 데 도움을주세요.

답변

0

방금 ​​문제를 해결했습니다. 필자의 경우 MPMoviePlayerController, 오디오 큐 플레이어, 오디오 레코더가 있습니다.

동영상 플레이어는 콘텐츠가 끝날 때 수동으로 '중지'방법을 호출해야합니다. 그렇지 않으면 MPMoviePlaybackStatePlaying에서 재생 상태가 고정됩니다. 그렇다면 MP3를 더 이상 연주 할 수 없으며 시도 할 때 "화"를 얻을 수 없습니다. 그러나 PCM은 여전히 ​​작동합니다.

아마도 압축 된 오디오 (MP3, AAC, ...)가 고유 한 하드웨어 장치로 처리되기 때문일 수 있습니다. 다른 기술 (MPMoviePlayerController 및 오디오 큐 서비스)을 사용하여 압축 된 오디오를 재생하는 경우 모두 동일한 장치를 공유하므로 재생을 마친 후에 장치를 한 번 릴리스해야합니다.

관련 문제