gpt4 book ai didi

iphone - AVAudio 在呈现模态视图后不会停止

转载 作者:行者123 更新时间:2023-12-03 21:20:18 24 4
gpt4 key购买 nike

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

我希望主菜单播放音乐(足够简单),但我希望它在第二个模态视图中持续存在,但在视频开始播放时停止。

当按下电影按钮时,我尝试[audioPlayer stop],但音乐仍在播放。

我尝试停止并播放 viewDidAppear 和 viewDidDisappear 中的音频。这使得音频在呈现第二个 View 时重新启动,而不是在视频期间播放。

我希望这是有道理的,我真的只需要知道如何让音频在电影播放期间之外一直播放(在两个或三个模态视图中)。

这是我的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]
}
}

最佳答案

您的模态视图 Controller 正在尝试停止其中不存在的audioPlayermainMenueViewControlleraudioPlayer,因此它必须是告诉音频播放器停止的那个。

您可以使用 NSNotifications 来实现此目的。每个NSNotification通过单例NSNotificationCenter发送。以下是适合您情况的基本步骤:

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

希望这有帮助!

关于iphone - AVAudio 在呈现模态视图后不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5406567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com