何时使用 AVAudioPlayer 方法 prepareToPlay()
Posted
技术标签:
【中文标题】何时使用 AVAudioPlayer 方法 prepareToPlay()【英文标题】:When to use AVAudioPlayer method prepareToPlay() 【发布时间】:2015-09-22 17:12:14 【问题描述】:如果我实例化了一个 AVAudioPlayer 对象,设置了它的属性,称为 prepareToPlay(),并调用了 play() 方法,但随后更改了我的 AVAuidioPlayer 对象的属性,我是否需要再次调用 prepareToPlay()?
【问题讨论】:
我觉得你应该叫它!!!! 播放结束前是否更改属性? @antonio,对不起,这是一个好问题,播放是无限循环的,所以当我更改属性时播放还没有完成。如果它停止了,我知道我将不得不再次调用 prepareToPlay()。 【参考方案1】:不,你没有。这是来自方法 play
的类参考中的讨论部分:
如果音频播放器尚未准备好播放,则调用此方法会隐式调用 prepareToPlay 方法。
此外,这是该方法的摘要:
异步播放声音。
当我们查看AVAudioPlayer
的属性时,我们可以看到它们中没有一个具有关于原子性的显式属性,这使得它们默认为atomic
。虽然播放是异步的,但您的播放不会受到属性修改的影响(而异步操作将锁定这些属性)。另外,这个方法会隐式调用prepareToPlay
,即使你自己没有这样做。
【讨论】:
以上是关于何时使用 AVAudioPlayer 方法 prepareToPlay()的主要内容,如果未能解决你的问题,请参考以下文章
何时在 django 中使用 pre_save、save、post_save?