当用户按下主页按钮时停止声音

Posted

技术标签:

【中文标题】当用户按下主页按钮时停止声音【英文标题】:Stop sound when user push home button 【发布时间】:2010-10-25 14:33:42 【问题描述】:

当用户按下主页按钮声音暂停时,我现在在 viewDidLoad 中播放声音。当用户再次运行应用程序时,从之前暂停的地方播放声音。当用户按下主页按钮时,我如何停止它(不暂停)?

【问题讨论】:

【参考方案1】:

查看应用程序委托方法:

- (void)applicationDidEnterBackground:(UIApplication *)application

- (void)applicationWillResignActive:(UIApplication *)application

当您的应用关闭时,您可以在此处放置可以运行的代码。尝试保持指向您的 AVAudioplayer 的指针,并在必要时“停止”其当前正在播放的内容。 用户回来后一定要重启!

“UIApplicationDelegate 协议参考”的文档有帮助:)

【讨论】:

想象我有一个有两个视图的应用程序并且这个播放器在第二个视图中我如何从 applicationDidEnterBackground 调用播放器来停止它? 要么将指向播放器的指针放在应用程序委托中,要么将其作为视图的属性,并以某种方式从应用程序委托中获取指向您的视图的指针。我通常有一个应用程序范围的声音播放类,它以某种方式连接到 App-Delegate。请记住,您可以通过调用 [UIApplication sharedApplication].delegate 从代码中的任何位置获取指向委托的指针。【参考方案2】:
NSString *path = [[NSBundle mainBundle] pathForResource:@"*" ofType:@"mp3"];

如果您使用* 代替 mp3 名称,音乐将停止播放。

【讨论】:

这个答案是错误的。 pathForResource 返回资源的路径;它与如何播放音频文件无关。

以上是关于当用户按下主页按钮时停止声音的主要内容,如果未能解决你的问题,请参考以下文章

如何通过按下按钮返回或按钮主页停止播放声音

当应用程序进入后台时停止后台服务

重叠声音 Actionscript 3/AIR

为啥这个声音循环不会停止?

按下home键后iPhone应用程序没有声音

覆盖后退按钮以充当主页按钮