我正在做VOIP应用程序,为了语音捕捉和播放,我正在使用AudioQueue框架,面对一个有线问题,
每当应用程序窗口变得小型化,它不会播放音频的一小部分秒,直到窗口没有得到小型化。
我觉得这是因为在主线程中运行了AudioQueue,我尝试过在其他线程中运行audioQueue,但是AudioQueue不能工作。
如何解决这个问题,有什么建议吗?
或者..。当用户按下“最小化”按钮,当声音发生时,我可以处理和拒绝缩小通知,有任何方法可以处理通知吗?我得到了关闭和其他活动的委托方法,但不适合按下“最小化”按钮。
发布于 2014-01-07 14:02:20
谢谢你看它
通过在回放音频队列中使用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。
https://stackoverflow.com/questions/20522832
复制相似问题