我使用 AVAudioPlayer 在我的应用程序上播放声音。我可以通过调用其中的方法来停止声音[audioPlayer stop];
。但是当我从另一个 ViewController 调用该方法时,声音并没有停止。我已经搜索过,但我无法得到正确的答案。我想要的是停止来自另一个 ViewController 的声音。有人能帮我吗?我是 iOS 新手。
我用它来添加我的声音文件:
//Declare the audio file location and settup the player
NSURL *audioFileLocationURL = [[NSBundle mainBundle] URLForResource:@"alarm" withExtension:@"wav"];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioFileLocationURL error:&error];
[audioPlayer setNumberOfLoops:-1];
if (error) {
NSLog(@"%@", [error localizedDescription]);
[[self volumeControl] setEnabled:NO];
[[self playPauseButton] setEnabled:NO];
[[self alertLabel] setText:@"Unable to load file"];
[[self alertLabel] setHidden:NO];
} else {
[[self alertLabel] setText:[NSString stringWithFormat:@"%@ has loaded", @"alarm.wav"]];
[[self alertLabel] setHidden:NO];
//Make sure the system follows our playback status
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive: YES error: nil];
//Load the audio into memory
[audioPlayer prepareToPlay];}
并用于 [audioPlayer play];
启动声音并停止我使用[audioPlayer stop];
。当我在同一个 ViewController 上时它工作正常,但是当我更改 ViewController 时[myViewController.audioPlayer stop];
它不起作用。我正在使用故事板。