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

react-native-sound在Android AVD中播放有进程但无声音如何解决?

React Native Sound 在 Android AVD 播放无声音问题排查方案

1. 先排查 Android 模拟器本身的音频配置

  • 打开 AVD Manager,编辑目标模拟器,展开Show Advanced Settings
  • 确认Audio Input和Audio Output未设置为None,选择你电脑的声卡设备
  • 重启模拟器后重新测试播放

2. 验证 Android 项目的权限与库配置

  • 检查AndroidManifest.xml是否添加了必要权限:
    <uses-permission android:name="android.permission.INTERNET" /> <!-- 网络音频需添加 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 本地音频需添加 -->
    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL" />
    
  • 确认build.gradle(Module 级别)已正确引入依赖:
    dependencies {
      implementation project(':react-native-sound')
    }
    
  • 检查MainApplication.java中是否注册了模块:
    import com.zmxv.RNSound.RNSoundPackage;
    
    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.asList(
          new MainReactPackage(),
          new RNSoundPackage() // 确保该行存在
      );
    }
    

3. 代码层面的播放参数检查

  • 强制设置音量,避免默认音量为0:
    sound.setVolume(1.0); // 设置最大音量测试
    
  • 确认本地音频文件路径:需放在android/app/src/main/res/raw目录下,或使用正确的文件URI
  • 避免组件挂载时立即播放,可添加延迟确保资源加载完成:
    useEffect(() => {
      const sound = new Sound('test.mp3', Sound.MAIN_BUNDLE, (error) => {
        if (error) {
          console.log('音频加载失败', error);
          return;
        }
        setTimeout(() => {
          sound.play((success) => {
            if (!success) console.log('播放启动失败');
          });
        }, 1000);
      });
      return () => sound.release();
    }, []);
    

4. 测试不同版本的 Android 模拟器

  • 部分旧版本 Android 模拟器存在音频驱动bug,尝试创建 Android 10/11/12 版本的模拟器测试
  • 确保模拟器的系统镜像已完整下载,无损坏

5. 排查电脑系统音频状态

  • 确认电脑本身音量未静音,模拟器的音频输出未被系统静音
  • 关闭其他占用音频设备的程序,避免资源冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:24:31