呈现模态视图后AVAudio不会停止
-
29-10-2019 - |
题
我有一个显示电影的应用程序。第一个屏幕显示呈现不同模态视图的按钮。在那些模态视图中,播放视频的按钮。
我希望主菜单播放音乐(容易足够),但我希望它能持续到第二个模态视图,但在视频开始播放时停止。
我正在尝试[audioplayer stop]当按下电影的按钮时,但音乐保持播放。
我已经尝试停止并播放ViewDideapear和ViewDidDiseapear中的音频。在呈现第二个视图时使音频重启并在视频期间不播放。
我希望这是有道理的,我真的需要一个想法如何让音频在电影播放期间播放所有时间(整个两个或三个模态视图)。
这是我的vewDidAppear
方法:
.-(void)viewDidAppear:(BOOL)animated {
NSString *musicPath = [[NSBundle mainBundle] pathForResource: @"Intro Music" ofType:@"mp3"];
if(musicPath) {
NSURL *musicURL = [NSURL fileURLWithPath:musicPath];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicURL error:nil];
[musicURL release];
}
if(!audioPlayer.playing) {
[audioPlayer play]
}
}
解决方案
您的模态视图控制器正在尝试停止一个不存在于其中内部的生成读物代码。 audioPlayer
具有mainMenueViewController
,因此它必须是一个告诉音频播放器停止的人。
您可以使用nsnotifications。每个 nsnotification 通过单身 nsnotificeCenter 。以下是您情况的基本步骤:
- 您的主菜单寄存器准备好通知。
- 您的主菜单有通知火灾时调用的方法。
- 您的子菜单在需要关闭音频时会发出一种方法。
- 您的主菜单在准备好关闭时不舒服。
希望这有帮助!