2011-03-30 50 views
0

我的应用程序在自己的线程中处理音频,并使用AudioUnits播放缓冲区。Iphone线程优先

当我的应用程序进入我开始听到从我的声音平静了一些小问题的背景。
现在这不是最糟糕的部分。

在我进入我可以通过我的应用程序滚动的UIScrollView在我的音频线没有问题的背景下,但之后,我从后台返回任何滚动导致故障在我的音乐。

我检查之前和之后backgrounding使用[[NSThread currentThread] threadPriority]我的线程优先级和那些似乎并没有什么不同。

可能是什么问题?

回答

1

想通了。我在发布设置下重建了应用程序,现在一切正常,听起来很棒。

1

可能是什么问题?

很可能,您的音频处理是计算密集型的,并且没有足够的CPU周期让系统保持对用户输入的响应并允许您的计算全速运行。系统正在尝试保持UI响应并抑制计算,导致跳过。

的修复很可能会是让你的计算使用较少的CPU,无论是通过提高效率或者少做工作。

+0

我已经解决了这个问题。令我困惑的是,Scrolling和其他用户界面不会影响我的音频处理,直到应用程序进入后台。 – Dmacpro 2011-03-30 03:57:21

+0

只要你的应用程序在后台,根据定义,有另一个应用程序在前台运行,消耗资源等等......你正在争夺同一组资源,但竞争更激烈。不知道更多,很难具体说。 – bbum 2011-03-30 03:58:48

+0

是的,我只是不明白为什么,当它回到前台并重置我的线程优先级时,我的音频引擎表现得像它仍然在后台? – Dmacpro 2011-03-30 04:02:07