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().
我已经在我的 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().