2011-01-25 57 views
0
- (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链接。声音可以播放,并且可以在声音播放结束后再次播放,但在播放过程中再次按下按钮时,会记录“失败”消息,并且声音无法播放,无任何例外。iPhone SDK AVAudioPlayer - 停止然后无法启动

我和iOS 4.2.1一起使用iPad。

回答

0

我已经注意到,在调用停止后(根据引用撤消了prepareToPlay和play的作用)音频流无法播放。 而不是调用stop,将currentTime设置为player.duration(流结束)。