You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何录制手机音频输出?尝试react-native-audio-record仅支持麦克风输入

React Native 录制系统音频流解决方案

你提到的react-native-audio-record确实仅支持麦克风输入,要录制手机系统音频流(比如播放的音乐、视频声音等),需要针对iOS和Android分别处理:

Android 端实现

Android 5.0(API 21)及以上支持通过MediaProjection API录制系统音频,步骤如下:

  • 在AndroidManifest.xml中添加RECORD_AUDIO权限,同时动态请求MediaProjection的屏幕录制权限(系统会弹出授权弹窗)
  • 配置MediaRecorder的音频源为MediaRecorder.AudioSource.REMOTE_SUBMIX,这个源专门用于捕获系统输出的音频
  • 可以封装原生模块,或使用第三方库简化开发,核心逻辑是启动MediaProjection会话后绑定MediaRecorder开始录制

示例原生代码片段(Kotlin):

val mediaProjectionManager = getSystemService(MEDIA_PROJECTION_SERVICE) as MediaProjectionManager
val intent = mediaProjectionManager.createScreenCaptureIntent()
startActivityForResult(intent, REQUEST_CODE)

// 在onActivityResult中获取MediaProjection实例后
val mediaRecorder = MediaRecorder().apply {
    setAudioSource(MediaRecorder.AudioSource.REMOTE_SUBMIX)
    setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)
    setAudioEncoder(MediaRecorder.AudioEncoder.AAC)
    setOutputFile(outputFilePath)
    prepare()
}
val virtualDisplay = mediaProjection.createVirtualDisplay(
    "AudioCapture",
    1, 1, resources.displayMetrics.densityDpi,
    DisplayManager.VIRTUAL_DISPLAY_FLAG_AUDIO_ONLY,
    mediaRecorder.surface,
    null,
    null
)
mediaRecorder.start()

iOS 端实现

iOS 11及以上可以通过ReplayKit框架录制系统音频,或用AVAudioEngine捕获App内部的音频输出:

  • 使用ReplayKit:RPScreenRecorder支持录制系统音频,只需配置关闭麦克风即可,需要先请求录制权限
  • 若仅需捕获App自身播放的音频,可通过AVAudioEngine添加节点捕获输出音频流

示例原生代码片段(Swift):

import ReplayKit

if RPScreenRecorder.shared().isAvailable {
    RPScreenRecorder.shared().requestRecordingPermission { granted in
        guard granted else { return }
        RPScreenRecorder.shared().startRecording(
            microphoneEnabled: false, // 关闭麦克风,仅录制系统音频
            handler: { error in
                // 处理启动错误
            }
        )
    }
}

// 停止录制
RPScreenRecorder.shared().stopRecording { previewViewController, error in
    // 获取并处理录制文件
}

跨平台开发建议

目前没有完全成熟的跨平台React Native库直接支持系统音频录制,推荐针对两端分别封装原生模块,或选用维护状态较好的平台专属第三方库快速实现。

内容的提问来源于stack exchange,提问作者spiralCorp.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 04:11:19