2011-01-27 3 views
2

방금 ​​CoreAudio 서적 (Audio Cut)에 대한 AudioQueues에 대해 알기 시작했습니다. AudioQueue 재생 예제 튜토리얼을했는데 기본적으로 사과 자습서 예제와 동일합니다. 모든 것이 잘 작동합니다.GUI를 멈추지 않고 AudioQueue를 재생하는 방법은 무엇입니까?

GUI가있는 응용 프로그램에서 코드를 구현하려고하면 문제가 발생합니다. NSObject 하위 클래스의 'init'메서드에 코드를 붙여 넣어 테스트했습니다. 콜백을 할 대기열을 얻을 수있는 유일한 방법은 빈 DO를 삽입하는 것입니다 ... 내 init의 끝에 루프가 있지만 GUI가 정지됩니다 (분명히 ...) !!

분명히 AudioQueue는 inCallbackRunLoop 및 CallbackRunLoopMode 인수에 대해 AudioQueueNewOutput이 NULL로 전달되는 한 자동으로 별도의 스레드에서 실행되어야합니다. 그것은 단지 일어나지 않는 것입니다. 나는 단지 완충제의 초벌절에서 1.5 초를 듣고있다.

분명히, 나는 사물이 작동하는 방법에 대해 이해하지 않는 것이 근본적인 뭔가 ...

카스퍼

-(void) start 
{ 
CheckError(
    AudioQueueStart(queue, NULL), 
"AudioQueueStart failed"); 

printf("Playing...\n"); 
do { 
} while (0 == 0);   //WHY IS THIS MAKING IT PLAY??? 
} 

답변

2

내 userData에 구조체가에서 바르로 선언되지 않았 음을 밝혀이있다 헤더 파일. 신나는 실수 ...

관련 문제