我在制作动画时使用AVAudioPlayer类播放简短的aiff声音。不幸的是,每当声音播放时,动画的帧速率就会下降。看起来这可以通过将AVAudioSession类别设置为AVAudioSessionCategorySoloAmbient
来修复,但尽管已经这样做了,我仍然会看到很多帧速率下降。
我在app delegate中设置了AVAUdioSession类别,如下所示:
NSError *setCategoryError = nil;
BOOL success = [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategorySoloAmbient error: &setCategoryError];
我在这里做错了吗?
答案 0 :(得分:2)
我假设你的AVAudioPlayer实例在主线程上。将AVAudioPlayer实例移动到其自己的线程。因此,图形渲染性能将得到改善。
您的应用程序音频会话单例对于动画问题应该没有,或者最多只有非常小的影响。 (正如您所指出的那样,确保将其设置为不可混合的类别)