当应用程序处于后台时播放声音
Posted
技术标签:
【中文标题】当应用程序处于后台时播放声音【英文标题】:Play sound when the app is background 【发布时间】:2014-11-28 18:40:12 【问题描述】:应用程序必须在后台播放声音。在功能后台获取和音频和播放被检查。
播放声音的调用方法是
-(void)playSound
NSString* str = [[NSBundle mainBundle] pathForResource:@"alarm4" ofType:@"wav"];
NSURL* url = [NSURL fileURLWithPath:str];
NSError* erreur;
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&erreur];
if(!erreur)
[self.audioPlayer setVolume:1];
[self.audioPlayer setNumberOfLoops:-1];
[self.audioPlayer prepareToPlay];
[self.audioPlayer play];
else
NSLog(@"erreur de chargemnt %@", [erreur localizedDescription]);
请给我一些建议好吗?
【问题讨论】:
【参考方案1】:我的建议是:不要梦想这样的事情。一般来说,你做不到。
您可以在进入背景时继续播放声音,但您不能在已经时自发发出出乎意料的声音> 后台应用程序。如果发生这种情况,那就太可怕了,因为用户不知道声音来自哪里,声音可能会扰乱用户的音乐聆听体验等等。
首先你应该问问自己为什么你认为你需要做这样的事情。你可能不需要。
(某些 Apple 应用程序可以做到这一点。例如,时钟应用程序会在背景中发出重复的警报声。但是,您现在可能已经注意到,您不是 Apple。)
【讨论】:
一切都很黑暗,但现在我看到了您回答的轻松优雅:“您,您现在可能已经注意到,不是 Apple”。非常感谢。 @Developer3000 您可以尝试发出警报声作为 UILocalNotification 的一部分。这是合法的,因为系统,而不是您,实际上会在通知“触发”时产生声音。但这也意味着用户可以关闭你的声音。所以这是一个很好的解决方案,但不是 100% 可靠。 反对者。这是可能的,只是比应该做的要难得多。你能提供更多关于你希望何时启动的信息吗?以上是关于当应用程序处于后台时播放声音的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序在后台并且手机处于振动状态时,一些闹钟应用程序(例如 Alarmy)如何能够在 iPhone 上播放声音
当浏览器在后台运行时收到通知时,使用 Firebase 播放声音