-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if(actionSheet.tag == 2) {
if(buttonIndex != actionSheet.cancelButtonIndex) {
NSString *s = [actionSheet buttonTitleAtIndex:buttonIndex];
NSString *soundFile = [[NSBundle mainBundle] pathForResource:s ofType:@"m4a"];
NSURL *soundUrl = [NSURL fileURLWithPath:soundFile];
AVAudioPlayer *player = [[AVAudioPlayer alloc]initWithContentsOfURL:soundUrl error:nil];
player.numberOfLoops = 0;
[player play];
}
}
}
当我在[player play];
上放置断点并跳过时,iPhone正在播放声音。没有断点它不播放声音。为什么会这样?
答案 0 :(得分:0)
我认为您的项目已启用ARC。
当ARC在方法执行后启用局部变量时,
因此,您必须将AVAudioPlayre对象声明为全局对象。
它会保持你的物体,直到视野消失。