如果我实例化了一个AVAudioPlayer对象,设置其属性,名为prepareToPlay(),并调用play()方法,但是然后更改我的AVAuidioPlayer对象的属性我是否需要再次调用prepareToPlay()?
答案 0 :(得分:2)
不,不。这来自方法play
的类引用中的讨论部分:
如果音频播放器尚未准备播放,则调用此方法会隐式调用prepareToPlay方法。
此外,这是该方法的摘要:
异步播放声音。
当我们查看AVAudioPlayer
的属性时,我们可以看到它们中的非属性具有关于原子性的显式属性,这使得它们默认为atomic
。虽然播放是异步的,但播放不会受到属性修改的影响(异步操作会锁定这些属性)。此外,即使您自己不这样做,此方法也会隐式调用prepareToPlay
。