react-native-sound Android 没有声音(仅 Genymotion 模拟器)

react-native-sound no sound from Android (only Genymotion emulator)

我已经在我的 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 模拟器中一切正常,但在物理 phone.

上安装相同的应用程序时就不行了

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

说:

Android: Save your sound clip files under the directory android/app/src/main/res/raw. Note that files in this directory must be lowercase and underscored (e.g. my_file_name.mp3) and that subdirectories are not supported by Android.

我试过把音频文件放在各处,但没有声音播放。

有没有办法检查他们需要去哪里? 为什么它可以在模拟器上运行?

谢谢。

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

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

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

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