首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RPScreenRecorder startCaptureWithHandler:示例处理程序中未返回麦克风声音

RPScreenRecorder startCaptureWithHandler:示例处理程序中未返回麦克风声音
EN

Stack Overflow用户
提问于 2018-06-20 03:10:59
回答 1查看 1.3K关注 0票数 1

我正尝试在我的iPad和iOS 11.4上使用RPScreenRecorder startCaptureWithHandler:completionHandler: api来直接抓取音频和视频。它与应用程序屏幕、应用程序音频和摄像头工作得很好,但当我使用microphoneEnabled = YES打开麦克风时,我无法在回调中获得麦克风的任何音频样本。

我在info.plist中添加了麦克风隐私使用密钥,但这没有帮助。

我不确定我下一步可以做什么来尝试解决这个问题。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-06-20 04:21:44

这段代码将获取包含实际麦克风音频的音频缓冲区(即使没有麦克风使用字符串或音频会话配置):

代码语言:javascript
复制
RPScreenRecorder *recorder = [RPScreenRecorder sharedRecorder];

recorder.microphoneEnabled = YES;

[recorder startCaptureWithHandler:^(CMSampleBufferRef sampleBuffer, RPSampleBufferType bufferType, NSError* error) {
    NSLog(@"Capture %@, %li, %@", sampleBuffer, (long)bufferType, error);
    if (RPSampleBufferTypeAudioMic == bufferType) {
        // Do something with mic audio
    }
} completionHandler:^(NSError* error) {
    NSLog(@"startCapture: %@", error);
}];

有一个权限对话框询问您是否允许屏幕和麦克风、仅允许屏幕或不允许。有没有可能你只点击了屏幕?注意:我不知道如何重置此对话框。

另一种可能是您在开始捕获之后设置microphoneEnabled?这可能行不通。不用了,这对我也适用。

上一次猜测

您可能需要激活录制AVAudioSession

代码语言:javascript
复制
try! AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryRecord)  // or AVAudioSessionCategoryPlayAndRecord!
try! AVAudioSession.sharedInstance().setActive(true)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50935432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档