首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AVAudio在呈现Modal视图之后不会停止

AVAudio在呈现Modal视图之后不会停止
EN

Stack Overflow用户
提问于 2011-03-23 14:14:33
回答 1查看 354关注 0票数 2

我有一个显示电影的应用程序。第一个屏幕显示显示不同模态视图的按钮。在这些模态视图里面是播放视频的按钮。

我想要主菜单播放音乐(很容易),但我希望它坚持通过第二个模式视图,但停止时,视频开始播放。

当电影的按钮被按下时,我试着停止audioPlayer,但是音乐一直在播放。

我试过在viewDidAppear和viewDidDisappear中停止播放音频。这使得音频在呈现第二个视图时重新启动,并且在视频期间没有播放。

我希望这是有意义的,我真的需要一个想法,如何让音频播放所有的时间(通过两个或三个模态视图),除了在电影播放。

这里是我的vewDidAppear 方法:

代码语言:javascript
运行
复制
-(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]
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-23 14:20:49

您的模态视图控制器正在尝试停止一个不存在于其内部的audioPlayermainMenueViewControlleraudioPlayer,所以它必须告诉音频播放器停止。

为此您可以使用NSNotifications。每个NSNotification都通过单例NSNotificationCenter发送。下面是解决您的情况的基本步骤:

  1. 当主菜单准备就绪时,您的主菜单将注册通知。
  2. 当通知触发时,主菜单具有调用方法。
  3. 当您的子菜单需要关闭音频时,它会触发一个方法。
  4. 当主菜单准备关闭时,主菜单将取消注册。

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5406567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档