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的主要内容,如果未能解决你的问题,请参考以下文章

javascript:window.open 不起作用?

酶玩笑 window.getSelection() 不起作用

textarea的window.getSelection()在Firefox中不起作用?

window.scrollTo 在 iOS chrome 中不起作用

Window.location 在 Internet Explorer 中不起作用

react使用window.onscroll不起作用的问题