0

网上没有太多关于此的文档,因为这是一项奇怪的任务。我正在尝试使用 ReplayKit 同时录制我的屏幕、内置麦克风和系统音频。

这是我现在录制屏幕的方式:

    if([self.screenRecorder isAvailable]){
        [self.screenRecorder setMicrophoneEnabled:YES];
        [self.screenRecorder startRecordingWithHandler:nil];
    }

运行时,系统会提示用户使用麦克风或不使用麦克风进行录制。我可以两者都做吗?有解决方法吗?如果我选择麦克风,当我的应用程序播放声音时,麦克风会被禁用。

如果有人可以提出不涉及 replaykit 的可能解决方案,那也将不胜感激!

谢谢

4

2 回答 2

1

是的,这是可能的,您可以使用提供手动渲染模式的 AVAudioEngine,将两个 playerNode(音频应用程序、音频麦克风)放入 MixerNode 并渲染。

于 2017-11-06T03:11:24.160 回答
-1

因此,在研究完这个之后,您也可以使用 AVAudioSession API 非常简单地做到这一点:

let audioSession = AVAudioSession.sharedInstance()
try! audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, with: AVAudioSessionCategoryOptions.mixWithOthers)
于 2017-12-13T02:26:50.113 回答