2012-02-09 2 views
2

나는 소리를 녹음하고 분석해야하는 프로젝트에서 일하고 있습니다. 여기에서 말하면 모든 생각은 괜찮습니다. 하지만 일부 사용자가 내 휴대 전화로 전화를 걸면 앱이 멈추고 앱이 다시 돌아 오면 다시 기록되지 않습니다.
나는 보도 기록하여 레코더를 다시 시작하려고,하지만 난이 오류 :
오류 : 계량 (-50)
를 활성화 할 수 있습니다 : 입력 채널 수 (! '고양이')
오류를 가져올 수 없습니다 오류 : 계량 실패
또한 StartRecord (....)를 호출하여 다시 시작하지만 다른 점은 없습니다. 그래서 사람이 나를Speakle은 전화를받은 후에 녹음하지 않습니다.

if (inInterruptionState == kAudioSessionEndInterruption) 

    THIS->recorder->StartRecord(CFSTR("recordedFile.caf")); 
+0

내가 해결책을 찾았습니까 – AMH

답변

1

앱은 오디오 세션 인터럽트 리스너에서 녹화를 중지는 다시 녹화를 시작하고자하는 경우 중단 콜백을 시작해야 할 수 있습니다. 그렇지 않으면 강제 종료 후 사용자가 다시 시작해야 할 수 있습니다.

+0

나는 동일한 오류가 있습니다. – AMH

0

저는 SpeakHere와 동일한 문제를 겪어 왔으며 시행 착오 (시간과 시간)까지이 솔루션을 발견했습니다. 이것을 시도해보십시오 : playbackWasInrupted (아래 주석 처리 된)에 대한 참조를 없애고 다른 플레이어 관련 지시문은 그대로 두십시오. 어쨌든 이것은 레코더를 다시 가능하게합니다! 누구나이 작품의 이유를 설명 할 수 있다면, 나는 알고 싶을 것이다!

무효 interruptionListener에서

,

else if ((inInterruptionState == kAudioSessionEndInterruption)&& THIS->playbackWasInterrupted)) 

else if (inInterruptionState == kAudioSessionEndInterruption) 

     //&& THIS->playbackWasInterrupted) 

을 변경 한 다음 주석 또는 아래의 "playbackWasInterrupted"라인 삭제 :

{ 
    // we were playing back when we were interrupted, so reset and resume now 
    THIS->player->StartQueue(true); 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"playbackQueueResumed" object:THIS]; 

// THIS-> playbackWasInterrupted을 = 아니오;

} 
0

은 메모리에서 - (해당 통지 핸들러에서) 전경에 반환 할 때, 당신은

AudioSessionSetActive (true) 

또는 유사한 무언가를 호출해야합니다. 내가 말했듯이, 나는 단지 관련 질문에 대해서만 읽을 뿐이지. 행운을 빕니다, 노비

관련 문제