音频后台 不中断ipod

最近做音频合成,看了百度很多的音频后台,但不是自己想要的效果.于是google加官方文档,实现了自己想要的东西.

特此记录一下.与有同需求的朋友分享一下.

目的功能主要是音频能后台 程序启动不中断ipod能与ipod混音

转载请保留出处:http://blog.csdn.net/fightper/article/details/7516876

关键代码:

 

AudioSessionInitialize (NULL,NULL,NULL,NULL);//初始化音频

UInt32 sessionCategory =kAudioSessionCategory_MediaPlayback;//设置后台播放

AudioSessionSetProperty (kAudioSessionProperty_AudioCategory,sizeof (sessionCategory), &sessionCategory);

UInt32 allowMixWithOthers =true;//设置是否与ipod混合(ipod声音一样大)

AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryMixWithOthers,sizeof(allowMixWithOthers), &allowMixWithOthers);

UInt32 allowAudioShouldDuck =true;//设置是否与ipod混合(ipod声音变小,应用程序声音变大)

AudioSessionSetProperty(kAudioSessionProperty_OtherMixableAudioShouldDuck,sizeof(allowAudioShouldDuck), &allowAudioShouldDuck);

AudioSessionSetActive(true);//激活audiosession

 

/*调用高级类设置方法

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

 [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:nil];

 //调用远程播放控件

 [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

 */

 

 

//系统提示音调用 

staticvoid completionCallback (SystemSoundID  soundID,void* aa) {}

musicID = 0;

SystemSoundID soundID;

NSString *path = [[NSBundlemainBundle]pathForResource:@"tishi"ofType:@"aif"];    

CFURLRef soundURL = (CFURLRef)[NSURLfileURLWithPath:path];

AudioServicesCreateSystemSoundID(soundURL,&soundID);

AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);

AudioServicesAddSystemSoundCompletion(soundID,NULL,NULL,completionCallback,(void *)musicID);

AudioServicesPlayAlertSound(soundID);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值