我有一个视频捕获应用程序,我想能够播放背景音乐,同时录制audio+video。
如果我在didFinishLaunchingWithOptions中将AVAudioSession类别设置为PlayAndRecord,就可以实现这一点。然而,当摄像头的视图进入或退出前景时,这会在音频中造成毛刺,显然是不可能摆脱的:https://forums.developer.apple.com/message/74778#74778
如果只是在我开始/停止录制视频时出现故障,我可以忍受,但这意味着当按下按钮时,我需要将AVAudioSession类别从Ambient更改为PlayAndRecord,而这似乎也是不可能的。
如何更改AVAudioSession类别?
我试过这个:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers
error:nil];但背景音乐在录音开始时停止。
以下是这篇文章:AVCaptureSession and background audio iOS 7
我尝试停用会话,然后设置类别:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];
[session setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionDefaultToSpeaker
error:nil];
[session setActive:YES error:&error];我还尝试侦听AVAudioSessionRouteChangeNotification,并在停用会话后在该处理程序中设置类别。但当应用程序开始录制时,背景音乐总是会关闭。
为什么我不能更改AVAudioSession类别?
发布于 2016-03-07 20:49:24
请尝试此类别
AVAudioSessionCategoryMultiRoute
或者选中两个类别AVAudioSessionCategoryPlayAndRecord | AVAudioSessionCategoryRecord
https://stackoverflow.com/questions/35615707
复制相似问题