我使用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类来播放这种声音吗?我的意思是声音可以持续几分钟,甚至几小时。如果选择不是问题,那么会导致延迟?在此先感谢