Отредактировано
У меня в приложении есть звук, который начинает воспроизводиться при запуске приложения.Кроме того, у меня есть два способа воспроизведения и остановки звука:
-(void)playBgMusic {
NSString *path = [[NSBundle mainBundle] pathForResource:@"bgmusic" ofType:@"aif"];
theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];
[defaults setBool:NO forKey:@"isQuiet"]; }
-(void)stopMusic {
[theAudio stop];
[defaults setBool:YES forKey:@"isQuiet"]; }
Теперь у меня есть разные viewControllers и в моем mainView есть кнопка, которая останавливает / запускает музыку (зависит от того, играет ли музыкаили нет).
Итак, у меня есть:
-(IBAction)check {
isquiet = [defaults boolForKey:@"isQuiet"];
if (isquiet == YES) {
[self playBgMusic];
// Change button to indicate music is playing
}
else {
[self stopMusic];
// Change the button to indicate music has stopped...
}
}
Теперь есть проблема.Звук воспроизводится при запуске приложения, после этого я могу нажать кнопку, и звук останавливается, но затем я не могу запустить его снова.Я поместил NSLogs в код и увидел, что BOOL все еще НЕТ после нажатия кнопки Stop.
Где моя ошибка?