【发布时间】:2011-06-06 17:28:15
【问题描述】:
在我的 iOS 应用程序中,我不想使用 OpenAL 播放声音。我有 AudioManager 类,负责声音管理(单例)。所有声源和缓冲区在创建时都会初始化(在第一次 instance 调用中)。
所以要播放声音,我只需要停止以前的声音,清除旧缓冲区(必要的源),附加新缓冲区,设置音高和增益,最后播放声音。所有这些操作都在playSound:(AMSound)sound 方法中(AMSound 是一个简单的枚举)。
对于 UI 效果,我从主线程调用此方法。但是我的应用有很多后台工作,有时还伴随着音效。
我可以直接从后台线程调用playSound: 还是应该只在主线程上调用?
那么同时发出的声音呢:一个是从主线程创建的,另一个是从后台创建的?
【问题讨论】:
标签: multithreading ios audio openal