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

时间:2011-01-25 08:46:41

标签: ios4 avaudioplayer

- (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");
    }
}

其中播放器是AVAudioPlayer,此操作与UIButton链接。声音可以播放,并且可以在声音结束后再次播放,但是当我在播放过程中再次按下该按钮时,会记录“失败”消息并且无法播放声音,无任何例外。

我和iPad一起使用iOS 4.2.1。

1 个答案:

答案 0 :(得分:0)

我注意到在调用stop之后音频流无法播放(根据引用取消了prepareToPlay和播放的内容)。

,而不是调用stop,将currentTime设置为player.duration(流的结尾)