网上没有太多关于此的文档,因为这是一项奇怪的任务。我正在尝试使用ReplayKit同时录制我的屏幕,内置麦克风和系统音频。
以下是我现在正在录制屏幕的方式:
if([self.screenRecorder isAvailable]){
[self.screenRecorder setMicrophoneEnabled:YES];
[self.screenRecorder startRecordingWithHandler:nil];
}
运行此选项时,系统会提示用户使用麦克风录制,或者不使用麦克风录制。我可以两个都做吗?有解决方法吗?如果我选择麦克风,当我的应用播放声音时,麦克风将被禁用。
如果有人可以提出一个不涉及replaykit的可能解决方案,那也将非常感激!
由于
答案 0 :(得分:1)
是的,可以,你可以使用AVAudioEngine提供手动渲染模式,两个playerNode(音频app,音频麦克风)进入mixerNode并渲染。
答案 1 :(得分:-1)
因此,在查看此内容之后,您也可以使用AVAudioSession API执行此操作:
let audioSession = AVAudioSession.sharedInstance()
try! audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, with: AVAudioSessionCategoryOptions.mixWithOthers)