ios – 在播放一些backgorund音乐时播放和录制视频

前端之家收集整理的这篇文章主要介绍了ios – 在播放一些backgorund音乐时播放和录制视频前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我查看了几个论坛,他们都无法提供令人满意的答案.

我的愿望是能够在后台播放音乐时播放和录制视频.
我设法在我发现的一个片段的帮助下做到了这一点.这是代码

AVAudioSession *session = [AVAudioSession sharedInstance];
session.delegate = self;

NSError *error = nil;
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];

OSStatus propertySetError = 0;

UInt32 allowMixing = true; 

propertySetError = AudioSessionSetProperty (

                                            kAudioSessionProperty_OverrideCategoryMixWithOthers,// 1

                                            sizeof (allowMixing),// 2

                                            &allowMixing                                          // 3

                                            );
[session setActive:YES error:&error];

问题是录音时,我只能通过耳机而不是普通扬声器听到背景音乐.

如何设置常规扬声器才能使录音会话不被中断?

提前致谢,

解决方法

使用* kAudioSessionProperty_OverrideCategoryMixWithOthers *覆盖seesion类别时,它使用设备顶部的较小扬声器(除了前端摄像头).要将常规扬声器用作输出设备,您应该改为重定向音频会话的输出路径.以下是实现此目的的代码片段
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;

AudioSessionSetProperty ( 
    kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride                                               
);

用上面的代码替换此代码,它将起作用.您可以在Apple开发人员门户网站上进一步参考Redirect Output Audio.

猜你在找的iOS相关文章