AudioQueue 不起作用 Window Miniaturize
Posted
技术标签:
【中文标题】AudioQueue 不起作用 Window Miniaturize【英文标题】:AudioQueue doesn't work Window Miniaturize 【发布时间】:2013-12-11 15:16:35 【问题描述】:我正在开发 VOIP 应用程序,用于语音捕获和播放,我正在使用 AudioQueue 框架,面临一个有线问题, 每当应用程序窗口小型化时,它不会在几分之一秒内播放音频,直到窗口没有小型化。
我觉得这是由于在 主线程 中运行 AudioQueue,我尝试在其他线程中运行 audioQueue,但 AudioQueue 无法正常工作。
任何指针如何解决这个问题?
或者..当用户按下最小化按钮时有什么方法可以处理通知,我可以在音频播放时处理并拒绝最小化?我正在获取用于关闭和其他活动的委托方法,但不适用于按下最小化按钮时。
【问题讨论】:
【参考方案1】:感谢观看
在播放音频队列中使用 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。
【讨论】:
以上是关于AudioQueue 不起作用 Window Miniaturize的主要内容,如果未能解决你的问题,请参考以下文章
酶玩笑 window.getSelection() 不起作用
textarea的window.getSelection()在Firefox中不起作用?
window.scrollTo 在 iOS chrome 中不起作用