2011-01-25 2 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 - 중지 한 다음 시작하지 못합니다.

I 및 iPad와 iOS 4.2.1을 함께 사용하십시오.

답변

0

stop을 호출 한 후 오디오 스트림이 재생되지 않는 것으로 나타났습니다 (참조에 따라 prepareToPlay와 재생이 취소됩니다). stop을 호출하는 대신 currentTime을 player.duration (스트림의 끝)으로 설정하면됩니다.

관련 문제