您的位置:首页 > 其它

解决使用个推后背景音乐音量变小问题

2015-11-13 12:04 375 查看
问题描述:

  项目集成个推之后,假如后台APP正在播放音乐,结果一打开项目APP,正在播放的音乐的音量就自动降低了。

解决方案2:放在个推初始化代码之前即可

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *setCategoryError = nil;
BOOL success = [audioSession setCategory:AVAudioSessionCategorySoloAmbient withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&setCategoryError];
if(!success)
{
NSLogE(@"AVAudioSession setCategory Error:%@",setCategoryError);
}
else
{
NSError *setActiveError=nil;
success=[audioSession setActive:YES withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&setActiveError];
if(!success)
{
NSLogE(@"AVAudioSession setActive Error:%@",setCategoryError);
}
}


实际效果为:进入APP后背景音乐就自动关掉了,手动重新打开音乐后,音量不变小。

解决方案1:在初始化个推之后加上以下代码即可(实测在iPhone4 7.1.2可以用,但是在iPhone6 Plus 9.1上却达不到效果)

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
NSError *setCategoryError = nil;
BOOL success = [audioSession setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&setCategoryError];
if(!success)
{
NSLogE(@"AVAudioSession setCategory Error:%@",setCategoryError);
}
else
{
NSError *setActiveError=nil;
success=[audioSession setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&setActiveError];
if(!success)
{
NSLogE(@"AVAudioSession setActive Error:%@",setCategoryError);
}
}


  
实际效果为:

  会有一瞬间音量降低了,但是又马上恢复了,因为调用setActive为NO的缘故吧;但是上面的setCategory的参数不能随意修改,实际测试过程中改动之后,效果就没了。

待验证的有:

  这样做之后,个推后台是否还能申请到足够的时间片运行推送代码。

参考资料:

  Technical Q&A QA1668: Playing media while in the background using AV Foundation on iOS

https://developer.apple.com/library/ios/qa/qa1668/_index.html

Defining an Audio Session
https://developer.apple.com/library/prerelease/tvos/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/ConfiguringanAudioSession/ConfiguringanAudioSession.html

iOS 开发 初级:Audio 之 Audio Session - songrotek的专栏 - 博客频道 - CSDN.NET
/article/1352172.html

By:AsionTang

At:2015年11月13日 12:11:27
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: