2013-12-11 39 views
0

我正在开发VOIP应用程序,用于语音捕获和播放我正在使用AudioQueue框架,面对一个有线问题,
每当应用程序窗口变得小型化时,它不会为分数播放音频秒,直到窗户不会小型化。AudioQueue不起作用窗口小型化

我觉得它在主线程中运行AudioQueue,我试过在其他线程中运行audioQueue,但是在那个AudioQueue中无法工作。

任何指针如何解决这个问题?

或....有什么办法来处理通知时,用户按最小化按钮,我可以处理和拒绝最小化音频时?我得到关闭和其他活动的委托方法,但不是按下按钮时最小化按钮。

回答

0

感谢看着它

它得到了在播放音频队列使用CFRunloop,这样解决了,

OSStatus status = AudioQueueStart(mQueue,NULL); 


NSLog(@" Start AudioQueue returns %d",(int)status); 

if (status != noErr) { 
    NSLog(@"AudioQueueStart Error "); 
    mIsRunning = TRUE; 
} 

do {            // 5 
    CFRunLoopRunInMode (       // 6 
         kCFRunLoopDefaultMode,      // 7 
         0.25,          // 8 
         false          // 9 
         ); 

} while (mIsRunning); 

CFRunLoopRunInMode (        // 10 
        kCFRunLoopDefaultMode, 
        1, 
        false 
        ); 

使用这行代码,我可以从线程开始audioQueue。