iPhone SDK AVAudioPlayer - 停止然后无法启动

Posted

技术标签:

【中文标题】iPhone SDK AVAudioPlayer - 停止然后无法启动【英文标题】:iPhone SDK AVAudioPlayer - stop and then fail to start 【发布时间】:2011-01-25 08:46:41 【问题描述】:
- (IBAction)triggerSound 
    if (player == nil) 
        NSError *error;
        player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
     else if ([player isPlaying]) 
        [player stop];
        player.currentTime = 0;
    

    if (![player play]) 
        NSLog(@"fail");
    

其中 player 是 AVAudioPlayer,此操作与 UIButton 链接。声音可以播放,声音结束后可以再次播放,但是在播放过程中再次按下按钮时,记录“失败”消息,无法播放声音,没有任何异常。

我在 ios 4.2.1 上使用 iPad。

【问题讨论】:

【参考方案1】:

我注意到在调用 stop 后音频流无法播放(根据参考,它取消了 prepareToPlay 和 play 所做的操作)。 将 currentTime 设置为 player.duration(end of the stream) 而不是调用 stop。

【讨论】:

以上是关于iPhone SDK AVAudioPlayer - 停止然后无法启动的主要内容,如果未能解决你的问题,请参考以下文章

iPhone SDK AVAudioPlayer - 停止然后无法启动

使用 iPhone SDK 播放音频

在 iphone sdk 上播放 mp3?

使用 iPhone SDK 播放 MP3 文件 [关闭]

如何在 iphone sdk 中同时进行输出音频电平测量和音高变化

iPhone:AVAudioPlayer 是不是支持 .wav 格式?