声音播放完毕后 AVAudioPlayer 实例会发生啥? [关闭]

Posted

技术标签:

【中文标题】声音播放完毕后 AVAudioPlayer 实例会发生啥? [关闭]【英文标题】:What happens to an AVAudioPlayer instance after the sound has finished playing? [closed]声音播放完毕后 AVAudioPlayer 实例会发生什么? [关闭] 【发布时间】:2012-10-20 21:15:09 【问题描述】:

它会被 ARC 自动释放,还是在我以某种方式将其移除后它会保留在那里?如果它仍然存在,我可以从实例中收集到任何有用的数据吗?

【问题讨论】:

【参考方案1】:

它与任何其他对象实例具有相同的生命周期,因此如果保留则它是活动的,否则自动释放。我猜durationplayingcurrentTime 是非常有用的属性。

【讨论】:

是的,我知道 AVAudioPlayer 的属性。但我宁愿在声音完成后是否应该保留参考。或者,如果我应该再次实例化 AVAudioPlayer 并传递新的引用而不是重用旧的引用。 我想如果您需要重播相同的曲目,您可以保留参考 - 但重新创建新实例没有太大区别。通常当我需要回放时,我会保留引用并在它停止后执行 prepareToPlay 方法,以使其准备好回放。

以上是关于声音播放完毕后 AVAudioPlayer 实例会发生啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioPlayer 声音在经过这么多 IBAction 后停止播放

使用 AVAudioPlayer 播放声音后恢复背景音频

使用 AVAudioPlayer 一次播放多个声音

Swift - AVAudioPlayer 不播放声音

使用 AVAudioPlayer 在后台播放声音序列

重用 AVAudioPlayer 以获得不同的声音