2011-01-25 55 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(流結束)。