AVAudioPlayer 객체를 사용하여 게임이 끝나기 전까지 계속 진행해야하는 aif 사운드 파일을 재생합니다. 나는 AVAudioPlayer의 바르가 backgroundPlayer라고하고 내가있는 viewDidLoad 방법에 그것을 설정 :AVAudioPlayer를 재생하면 지연이 발생합니다.
-(void)viewDidLoad{
NSURL *backgroundURL=[NSURL fileURLWithPath:[[NSBundle
mainBundle]pathForResource:@"bgLoop" ofType:@"aif"]];
backgroundPlayer=[[[AVAudioPlayer alloc] initWithContentsOfURL:backgroundURL
error:nil] retain];
backgroundAudioPlayer.numberOfLoops=-1;
}
을 그리고 난 viewWillAppear 방법에서 재생할 :
-(void)viewWillAppear:(BOOL)animated{
TrafficAppDelegate *delegate=[UIApplication sharedApplication].delegate;
if (delegate.shouldPlaySFX)
[backgroundPlayer play];
}
이 모든 설정하는 경우를 뷰 컨트롤러가 스택에 밀어 넣기 위해 내 단추를 누른다. 2-3 초 정도 걸리면 뷰가 나타난다. viewWillAppear 메서드에서 [backgroundPlayer play] 명령에 주석을 달면 지연이 사라집니다. 이런 종류의 사운드를 재생할 때 AVAudioPlayer 클래스를 사용해야하지 않습니까? 나는 소리가 몇 분, 심지어 몇 시간 동안 계속 될 수 있다는 것을 의미합니다. 선택이 문제가 아니라면 지연을 유발할 수있는 것은 무엇입니까? 미리 감사드립니다.