У меня есть IBaction, когда пользователь нажимает на IBaction, воспроизводится звук. Пользователь может включать и выключать звук нажатием кнопки. Нажмите кнопку один раз, чтобы включить звук, затем нажмите ее снова, чтобы отключить звук.
Он отлично работает в одном контроллере вида.
Однако это моя проблема. У меня есть 2 вида, и как только пользователь воспроизводит звук и хочет перейти к другому виду, звук по-прежнему воспроизводится один раз на другом экране, но если он хочет остановить звук, ему придется вернуться к виду, который содержит звук, но проблема в том, что создан новый аудио сеанс, означающий, что существующий звук не может быть отключен.
Кто-нибудь знает как это сделать
Вот код:
- (IBAction)twoSound:(id)sender; {
if (ButtonAlReadyClicked == 1)
{
ButtonAlReadyClicked = 2;
[sender setBackgroundImage:[UIImage imageNamed:@"z2.png"] forState:UIControlStateNormal];
}
else if (ButtonAlReadyClicked == 2)
{
ButtonAlReadyClicked = 1;
[sender setBackgroundImage:[UIImage imageNamed:@"z1.png"] forState:UIControlStateNormal];
}
if (twoAudio && twoAudio.playing) {
[twoAudio stop];
[twoAudio release];
twoAudio = nil;
return;
}
NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"];
if (twoAudio) [twoAudio release];
NSError *error = nil;
twoAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&error];
if (error)
NSLog(@"%@",[error localizedDescription]);
twoAudio.numberOfLoops = -1;
twoAudio.delegate = self;
[twoAudio play];
}
-(IBAction)goMain:(id)sender; {
[self dismissModalViewControllerAnimated:YES];
}