2011-11-30 7 views
1

오디오 녹음을 처리하는 타사 SDK가 있습니다. 녹음이 시작될 때 콜백이 있습니다. 콜백에서 사용자가 장치가 현재 듣고 있음을 Siri 또는 다른 음성 인식이하는 경향이 있음을 사용자에게 알리기 위해 노력하고 있지만 다음과 같은 오류가 발생하면 시도합니다.녹음 도중 소리가 나지 않음

AURemoteIO :: ChangeHardwareFormats : 오류 -10875

AudioServicesPlaySystemSound와 AVAudioPlayer를 사용하여 동일한 결과로 사운드를 재생 해 보았습니다. 사운드는 다른 시간대에는 정상적으로 재생되며, 오류에 따라 제 생각에는 하드웨어 레벨에서 재생과 레코딩 사이에 호환성이 없습니다. 누구든지이 오류를 명확히하거나 가능한 해결 방법에 대한 힌트를 줄 수 있습니까?

+0

나는 그때부터 SDK가 녹음이 시작될 때 재생을위한 사운드를 큐에 넣는 방법을 발견했다. 레코딩이 시작될 때 실제로 시작될 때가 아니라 무의미 해지고 다시 사각형으로 돌아가도록 요청할 때 재생됩니다. – ima747

답변

0

내 문제는 특히 외부 SDK 및 오디오 인터페이스 처리 방법과 관련이 있습니다. SDK가 녹음을 시작하도록 요청할 때 모든 내용을 덮어 씁니다. 다시 녹음 세션을 끝내면 다시 녹음 할 수 있습니다. 따라서 SDK의 컨텍스트 내에서 SDK를 수정하지 않으면 해결할 방법이 없습니다.

0

RemoteIO 녹음 콜백에서 사운드를 재생할 수 없어야합니다. 콜백에서 부울 플래그 만 설정하여 사운드를 재생해야 함을 나타냅니다. 메인 UI 실행 루프에서 사운드를 재생하십시오.

+0

콜백은 주 스레드에서 실행됩니다. 그 후 나는 자식 스레드에서 사운드를 재생하려고 시도했는데, 지연과 함께 그리고 주 스레드에서 명시 적으로 (나는 잘못했다가 시작하기 위해 주 스레드에 없었습니다) 모든 것을 처리하려고 시도했습니다 딸꾹질과 관련된 스레드는 효과가 없습니다. 오디오 하드웨어 자체와 관련이있는 것 같습니다. – ima747

1

RemoteIO 오디오 장치 녹음을 시작하기 전에 오디오 세션이 초기화되어 Play_and_Record에 맞게 구성되어 있는지 확인하십시오.

+0

제 3 자 SDK 호출 이전에 나에게 재생 및 기록을 요청합니다. 아마도 그들은 기록하기 위해 내부적으로 변경하고 있습니까? 그들이 그렇게하기를 원한다면 이것은 예상되는 오류일까요? – ima747

관련 문제