美文网首页
多个 AVAudioPlayer 导致前面声音被覆盖

多个 AVAudioPlayer 导致前面声音被覆盖

作者: 天空中的球 | 来源:发表于2020-05-23 17:31 被阅读0次

    在写一个 AVAudioPlayer 管理类的时候,由于是有多个声音的,然后有声音的 AudioPlayer 又必须得为其全局化,因为ARC 会 将释放调用插入到音频播放器中,因此在将其创建方法离开后立即将其释放, 所以为了解决此问题,一般让 AVAudioPlaye r为处理声音的类创建了一个属性,以便ARC不再释放该属性。

    @property (strong, nonatomic) AVAudioPlayer *audioPlayer;
    

    PS : 此处不设置确实是没有声音的。

    然而当我有多个声音的时候,特别是前面的声音又是作为背景音乐不断重复播放的时候

      // 声音播放次数:0 播放一次,负数 无数次;
     _audioPlayer.numberOfLoops = loops;
    

    此时是统一管理的,所以后面的声音来了后,前面的声音就被覆盖了,尴尬。

    很简单,用一个数组和字典保存下就好了。

    相关文章

      网友评论

          本文标题:多个 AVAudioPlayer 导致前面声音被覆盖

          本文链接:https://www.haomeiwen.com/subject/dhwvohtx.html