【问题标题】:When to use AVAudioPlayer method prepareToPlay()何时使用 AVAudioPlayer 方法 prepareToPlay()
【发布时间】:2015-09-22 17:12:14
【问题描述】:

如果我实例化了一个 AVAudioPlayer 对象,设置了它的属性,称为 prepareToPlay(),并调用了 play() 方法,但随后更改了我的 AVAuidioPlayer 对象的属性,我是否需要再次调用 prepareToPlay()?

【问题讨论】:

  • 我觉得你应该叫它!!!!
  • 播放结束前是否更改属性?
  • @antonio,对不起,这是一个好问题,播放是无限循环的,所以当我更改属性时播放还没有完成。如果它停止了,我知道我将不得不再次调用 prepareToPlay()。

标签: ios avaudioplayer


【解决方案1】:

不,你没有。这是来自方法 play 的类参考中的讨论部分:

如果音频播放器尚未准备好播放,则调用此方法会隐式调用 prepareToPlay 方法。

此外,这是该方法的摘要:

异步播放声音。

当我们查看AVAudioPlayer 的属性时,我们可以看到它们中没有一个具有关于原子性的显式属性,这使得它们默认为atomic。虽然播放是异步的,但您的播放不会受到属性修改的影响(而异步操作将锁定这些属性)。另外,这个方法会隐式调用prepareToPlay,即使你自己没有这样做。

【讨论】:

    猜你喜欢
    • 2012-01-12
    • 2014-10-19
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    相关资源
    最近更新 更多