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

升级React Navigation后React Native Sound.play报空参数错误如何修复

错误原因

从你给出的日志看所有音频的_loaded字段均为true,已经完成加载,排除资源加载问题。
这个报错是因为你使用的react-native-sound版本的play方法强制要求传入回调参数(即报错提示的RCTResponseSenderBlock类型参数),不能省略或者传null。官方示例使用的旧版react-native-sound允许不传回调,所以运行正常,你升级React Navigation的过程中可能连带升级了react-native-sound版本,或是新版React Navigation的上下文执行逻辑导致原本可选的回调参数被判定为null,触发报错。

修复方案

  • 方案1:给所有play方法调用补充空回调函数
    找到代码里所有调用音频play的位置,把原来的this.outgoingCall.play()这类写法改成下面的形式:
// 原来的写法(报错)
this.outgoingCall.play()
// 修复后的写法,传入空回调
this.outgoingCall.play(() => {})

来电、去电、挂断的所有音频播放调用,都按这个格式补充回调即可。

  • 方案2:锁定react-native-sound版本和官方示例一致
    如果你不想修改原有播放逻辑,可以在package.json里把react-native-sound的版本指定为官方示例配套的v0.11.0版本,重新安装依赖即可:
npm install react-native-sound@0.11.0
# 或者用yarn
yarn add react-native-sound@0.11.0

安装完成后重新编译运行项目,报错就会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:15:02