2012-09-09 95 views
4

我正在研究对讲机应用程序,并具有基本工作。您选择一个用户,记录一条消息,然后通过推送通知发送。他们打开下载并播放消息的应用程序。我很高兴,直到我遇到ZelloiOS对讲机应用程序在后台播放音频

他们正在做的利息两两件事:

1)如果您收到一条消息,该应用程序在后台运行,它会显示一个通知,并开始播放的消息,而无需打开应用程序。

Zello

2)该消息被传输到您的手机,并开始播放,而其他用户仍在讲话。

任何人都可以给我一个线索,他们是如何做到这一点?我已经添加了基础知识,例如设置音频/ VOIP背景模式键和初始化音频对话:

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error:nil]; 
[[AVAudioSession sharedInstance] setActive:YES error:nil]; 

但我不能确定如何进行不止于此。

回答

1

尝试在viewDidLoad方法验证码:

NSError *setCategoryErr = nil; 
    NSError *activationErr = nil; 
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryErr]; 
    [[AVAudioSession sharedInstance] setActive: YES error: &activationErr]; 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    UIBackgroundTaskIdentifier newTaskId = UIBackgroundTaskInvalid; 
    newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:NULL]; 

希望它可以帮助你。

+0

感谢您的代码示例。我试过这个,但它仍然没有工作。我开始认为套接字涉及。我会继续挖掘。 – marcdown

相关问题