NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"Breath"
ofType:@"mp3"]];
NSError *error;
breathPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
if (error) {
NSLog(@"Error in audioPlayer: %@", [error localizedDescription]);
} else {
breathPlayer.delegate = self;
[breathPlayer prepareToPlay];
}
在这里,我在功能
中停止我的播放器-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if ([self isTouch:touch WithinBoundsOf:MouthArea]) {
BreathImg.center = MouthArea.center;
NSLog(@"Touch Correct");
[breathPlayer play];
[breathPlayer setNumberOfLoops:1];
} else {
[breathPlayer stop];
}
}
玩家不会停止。它就像暂停
答案 0 :(得分:0)
查看stop
method的Apple文档。事实上:
stop方法不会重置currentTime属性的值 换句话说,如果你在播放期间叫停,然后再打电话 播放,播放从其停止的位置恢复。
您只需添加
即可breathPlayer.currentTime = 0.0;
在你的[breathPlayer stop];
行之后完成你想要的任务。