2011-02-15 1 views
0

오디오 녹음 앱 (예 : 사과에서 'SpeakHere'데모)을 만들었으며 백그라운드에서 작동하도록 어떻게 수정해야하는지 궁금합니다.iPhone dev - AudioQueue 백그라운드로 녹음하기

배경을 입력 할 때마다 AudioQueue 콜백이 멈추고 단일 오디오 바이트를받지 못했습니다.

iPhone의 음성 메모 앱이 배경에서 녹음 될 수 있음을 확인했습니다.

OSStatus AQRecorder::BufferFilled_callback( 
             void *        inUserData, 
             SInt64        inPosition, 
             UInt32        requestCount, 
             const void *       buffer, 
             UInt32 *        actualCount) { 


    AQRecorder *aqr = (AQRecorder *)inUserData; 

    NSLog(@"THIS METHOD IS NOT CALLED ON BACKGROUND"); 

    int fd = open(aqr->mWriteFile, O_WRONLY|O_CREAT|O_APPEND, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); 
    if (fd) { 

    *actualCount = (int)write(fd, buffer, requestCount); 
    close(fd); 

    [aqr->mi setToread:[aqr->mi toread] + requestCount]; 

} else { 
    perror("Fopen"); 
} 

return 0; 

어떤 생각을 : 여기

백그라운드에서 작동하지 않습니다 내 콜백입니까?

답변

0

앱의 info.plist "Required background modes"키 아래에서 적절한 값을 사용하여 백그라운드 녹음을 사용하셨습니까?

+0

굉장! :). 나는 "배경을 입력 할 때 얼어 붙는"것에 대해 몰랐습니다. 그래서 배경 모드를 언급하는 문서를 발견했습니다. 고맙습니다. – Lucas