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

如何在Expo+React Native中实现iOS/Android后台音频录制

Expo环境下实现跨平台后台/锁屏持续录音方案咨询

背景

我正在使用Expo和React Native开发覆盖iOS与Android平台的跨平台应用,核心需求是应用退至后台或设备锁屏时仍能持续录音,且要求无需eject及编写自定义原生代码。目前我使用expo-av实现了基础录音功能,但未配置后台服务,现有代码如下:

import { Audio } from 'expo-av';

const startRecording = async () => {
  await Audio.setAudioModeAsync({
    allowsRecordingIOS: true,
    playsInSilentModeIOS: true,
    staysActiveInBackground: true,
    interruptionModeIOS: InterruptionModeIOS.DoNotMix,
    shouldDuckAndroid: true,
    interruptionModeAndroid: InterruptionModeAndroid.DoNotMix,
    playThroughEarpieceAndroid: false,
  });
  const { recording } = await Audio.Recording.createAsync(
    Audio.RecordingOptionsPresets.HIGH_QUALITY
  );
  await recording.startAsync();
};

const stopRecording = async (recording) => {
  await recording.stopAndUnloadAsync();
  return recording.getURI();
};

已尝试方案及问题

我已测试多个相关库,但均无法满足需求:

  • expo-av:仅支持基础录音场景,不具备后台/锁屏下的持续录制能力
  • react-native-background-audio-record:稳定性差且已停止维护
  • react-native-track-player:仅支持后台音频播放,无法实现录音功能

我清楚iOS需要配置后台模式、Android需要使用前台服务的基本要求,但希望找到Expo生态内可维护的解决方案,现咨询以下问题:

咨询问题

  1. 如何在Expo环境下配置实现后台(含锁屏)持续录音?
  2. 是否有可维护的适配库或组合方案能满足需求?
  3. 若无单一适配库,Expo内有哪些替代方案可以实现目标?

希望借助Expo现有工具完成开发,无需编写自定义原生代码,求各位给出建议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 14:17:08