【问题标题】: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]);
}

请给我一些建议好吗?

【问题讨论】:

    标签: ios objective-c xcode avaudioplayer


    【解决方案1】:

    我的建议是:不要梦想这样的事情。一般来说,你做不到。

    您可以在进入背景时继续播放声音,但您不能在已经时自发发出出乎意料的声音> 后台应用程序。如果发生这种情况,那就太可怕了,因为用户不知道声音来自哪里,声音可能会扰乱用户的音乐聆听体验等等。

    首先你应该问问自己为什么你认为你需要做这样的事情。你可能不需要。

    (某些 Apple 应用程序可以做到这一点。例如,时钟应用程序会在背景中发出重复的警报声。但是,您现在可能已经注意到,您不是 Apple。)

    【讨论】:

    • 一切都很黑暗,但现在我看到了您回答的轻松优雅:“您,您现在可能已经注意到,不是 Apple”。非常感谢。
    • @Developer3000 您可以尝试发出警报声作为 UILocalNotification 的一部分。这是合法的,因为系统,而不是您,实际上会在通知“触发”时产生声音。但这也意味着用户可以关闭你的声音。所以这是一个很好的解决方案,但不是 100% 可靠。
    • 反对者。这是可能的,只是比应该做的要难得多。你能提供更多关于你希望何时启动的信息吗?
    猜你喜欢
    • 1970-01-01
    • 2017-05-24
    • 2014-11-12
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多