【问题标题】:react-native-sound no sound from Android (only Genymotion emulator)react-native-sound Android 没有声音(仅 Genymotion 模拟器)
【发布时间】:2020-06-02 12:59:04
【问题描述】:

我已添加代码以在我的 react 本机应用中播放声音。

我尝试过以各种方式指定音频文件的位置:

    const soundInfo =
      {
        url: require('./sound.wav'),
      }

与:

    new Sound(soundInfo.url, error => callback(error, sound));

和:

    const soundInfo =
      {
        url: 'sound.wav',
      }

与:

    const sound = new Sound(soundInfo.url, Sound.MAIN_BUNDLE, error => callback(error, sound));

在 Gemymotion Android 模拟器中一切正常,但在实体手机上安装同一个应用时就不行了。

文档: https://github.com/zmxv/react-native-sound

说:

Android:将您的声音剪辑文件保存在该目录下 安卓/app/src/main/res/raw。请注意,此目录中的文件必须 小写和下划线(例如 my_file_name.mp3) Android 不支持子目录。

我尝试将音频文件放在任何地方,但没有播放任何声音。

有没有办法检查他们需要在哪里? 为什么它在模拟器上工作?

谢谢。

【问题讨论】:

    标签: react-native-sound


    【解决方案1】:

    因为我已经做了一些测试,所以我把我的发现放在这里,以防有人需要更清楚。

    以这种方式引用音频文件:

    const soundInfo =
      {
        url: require('./sound.wav'),
      }
    

    需要将它们放在与使用它们的 .js 文件相同的目录中。这将适用于模拟器和实际设备。 我没有使用目录android/app/src/main/res/raw。 我也没有使用 Sound.MAIN_BUNDLE 选项,因为它不起作用,所以我使用 require() 选择了第一个选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 2018-05-05
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多