2017-12-18 13 views
0

시작 오디오 녹음주는 오류를 반환 및 방법 아래 오류를AudioQueueStart 가끔 오류 코드 -50

오류 도메인 = NSOSStatusErrorDomain 코드 = 50 "(널)"사용자 정보 = 상태 = AudioQueueStart (_state.queue을 반환 , 없는);

녹화 AUDO하는 단계 이하 이어 -

  1. 오디오 데이터를 기록하는 새로운 오디오 큐를 만들었다.

    status = AudioQueueNewInput(&_state.dataFormat, AudioInputCallback, &_state, CFRunLoopGetCurrent(), kCFRunLoopCommonModes, 0, &_state.queue);

  2. 오디오 큐 속성 값을 설정한다.

    status = AudioQueueSetProperty(_state.queue,kAudioQueueProperty_EnableLevelMetering,&on,sizeof(on));

  3. 오디오 큐는 버퍼를 할당한다.

  4. status = AudioQueueAllocateBuffer(_state.queue, buffer_size, &_state.buffers[i]); 녹화 또는 재생하는 오디오 큐 버퍼를 할당한다.status = AudioQueueEnqueueBuffer (_state.queue, _state.buffers[i], 0, NULL);

  5. 추가에게

    속성에 대한 리스너 콜백. status = AudioQueueAddPropertyListener(_state.queue, kAudioQueueProperty_IsRunning, recordingRunningChangedCallback, &_state);

  6. 는 재생하거나 오디오 녹음을 시작합니다. status = AudioQueueStart(_state.queue, NULL);

그리고 마지막 단계

이는 AVAudioSessionErrorCodeBadParam입니다

오류 코드 -50

답변

0

으로 찾을 수 here와 오류를 반환합니다.

분명히 지정한 매개 변수 중 하나가 유효하지 않거나 매개 변수가 없습니다.

this이 도움이 될까요?

iOS에서 오디오를 설정하는 것이 다소 복잡하기 때문에 샘플 코드 작업을 시작하거나 적절한 튜토리얼을 따르는 것이 좋습니다. 자신의 경험을 통해 나는 뭔가를 놓치고 쉽게 이런 실수를하게된다는 것을 알 수 있습니다.

행운을 빈다.

0

방금 ​​같은 문제가있었습니다.이유가 무엇이든간에 AudioQueueStart을 두 번 호출하면 나를 속일 수 있습니다.

status = AudioQueueStart(_state.queue, NULL); 
if (status == -50) { 
    status = AudioQueueStart(_state.queue, NULL); 
}