代码之家  ›  专栏  ›  技术社区  ›  Jonathan

AVAudioPlayer在我的iPhone上播放短声音?

  •  1
  • Jonathan  · 技术社区  · 17 年前

    一切正常。。。 …我必须等待声音停止,然后才能按下按钮,声音将再次播放。

    当前单个AVAudioPlayers是在viewDidLoad上创建的。。。当按下按钮时,声音就会播放

    我试着在按下按钮时创建播放器。。。这就解决了上述问题。。。但过了一段时间应用程序崩溃了。。。所有声音都停止工作。

    有什么想法吗? 谢谢 乔纳森

    4 回复  |  直到 15 年前
        1
  •  0
  •   mahboudz    16 年前

        2
  •  0
  •   JMax Dan    14 年前

    currentTime 玩家的 0 在玩之前。呼叫[ player play ]当它已经播放时没有效果。

    player.currentTime = 0;
    [player play];
    
        3
  •  0
  •   Suresh Varma    13 年前

    创建新的很好,但请确保标头声明并执行以下操作:

    - (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *) player successfully: (BOOL) completed {
        [player release];                           
    }
    

    if (self.view.superview) { //release }
    

    这都是内存处理。你可能想温习一下指针,知道如何在任何函数中处理你的player对象,并且在dealloc或didfish:delegate函数中放置release时仍然感到舒服,并且知道为什么它不属于另一个函数。

    iPhone可以随时被中断、停止和干扰,所以你必须知道如何处理内存,以及当内存发生时如何处理。我刚经历了一次类似的车祸,上面的一切都适用于它。如果不知道指针,NSXML委托将是一场噩梦。。。AVAudioPlayer也一样

        4
  •  0
  •   Pang Ajmal PraveeN    10 年前

    如果您计划使用大量的短声音,您可能需要考虑切换到OpenAL。

    有一个教程和一些有用的代码可用 here ( archived here ).

        5
  •  0
  •   pippoBoy    6 年前

    编辑: 好吧,我看到日期了。。。2009...