如果我多次使用AVAudioPlayer的.prepareToPlay()
方法预加载声音,那么每次调用它时是否会使用更多内存;或者如果音频已经加载到内存中,它只能分配一次内存?
我在给定关卡中有几个相同的对象,我需要在玩家触摸它时播放声音。我为每个对象创建了一个AVAudioPlayer实例,以及我的代码设置方式,我使用.prepareToPlay()
方法为每个对象预加载声音。
为需要在关卡中播放声音的每个对象执行此代码:
do {
levelObject.soundFXPlayer = try AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("SoundFXFile", ofType: "mp3")!))
levelObject.soundFXPlayer.prepareToPlay()
}
catch {
print("Error in preloading sound effects")
}