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

React Native同时实现视频录制与实时语音转文字方案咨询

可行实现方案

方案1:单音频流分流处理

  • 放弃两个库分别申请麦克风权限的模式,先统一采集麦克风的原始PCM音频流,同时喂给两个业务链路:
    • 一路直接传给视频录制模块封装进视频容器,react-native-camera本身支持传入自定义音频源配置,iOS端可通过设置captureAudio为false后自行拼接音视频轨,安卓端可通过CameraX的音频复用能力实现自定义音频注入
    • 另一路直接传给语音转文字处理模块,无需额外申请麦克风权限
  • 可使用react-native-audio这类基础音频采集库先完成统一的音频流获取,避免多模块抢占音频输入源

方案2:替换支持同步转写的录制库

  • 直接选用同时支持视频录制 + 实时音频流输出的第三方封装库,部分封装成熟的录制库默认开放了录制过程中的PCM音频回调,你可以直接拿到回调的音频帧喂给轻量的离线STT模型做实时转写,不需要额外占用麦克风
  • 如果对转写延迟要求不高,也可以在视频录制的同时,按1-2秒的间隔切割小分片直接传给STT接口做实时转写,分片转写的结果最后做拼接对齐即可,不需要等整个视频录制完成再上传

方案3:原生层统一调度音频权限

  • 如果前两个方案满足不了定制化需求,直接在原生层做麦克风的统一管理:iOS端用AVCaptureSession统一配置音视频输入,将输出的音频sample buffer同时分给AVAssetWriter(写视频文件)和SFSpeechRecognizer(系统语音转写);安卓端用AudioRecord统一采集音频,同时传给MediaMuxer和语音转写SDK
  • RN层只需要和原生封装的统一模块做交互,不需要同时调用两个RN端的音频相关库,从根源避免麦克风抢占问题

注意:如果选用离线STT能力,要注意不同系统的版本兼容,iOS的SFSpeechRecognizer和安卓的内置SpeechRecognizer都可以直接在原生层调用,不需要额外引入第三方RN语音库,能大幅降低包体积和权限冲突概率

内容的提问来源于stack exchange,提问作者Ellery Familia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:09:04