播放和录制视频同时播放一些背景音乐

8

我在几个论坛上查看了很多信息,但是都没有给出令人满意的答案。

我的愿望是能够在播放音乐的同时播放和记录视频。我在网上找到了一段代码,借此实现了目标,以下是代码:

    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];

问题在于录音时,我只能通过耳机听到背景音乐,而无法通过普通扬声器听到。
如何设置普通扬声器使录音过程不会中断?

你解决了这个问题吗? - shabbirv
嘿,你有这里所做的示例代码吗? - Jatin
1个回答

3
当您使用*kAudioSessionProperty_OverrideCategoryMixWithOthers*覆盖会话类别时,它将使用设备顶部(前置摄像头旁边)的较小扬声器作为输出设备。要将常规扬声器用作输出设备,您应该重定向音频会话的输出路线。以下是实现此操作的代码片段。
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;

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

将此代码替换为您的上面的代码即可使其正常工作。您可以进一步参考apple开发者门户网站上的重定向输出音频


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接