我正在努力从我的本机应用程序播放音频文件。 我想尝试使用这个包:
但无法使其正常工作,我收到此错误: 无法读取未定义的属性IsAndroid,它试图在react-native-sound软件包的sound.js第4行中执行:
var RNSound = require('react-native').NativeModules.RNSound;
var IsAndroid = RNSound.IsAndroid;
这可能意味着RNSound对象未正确注册。
无论如何,似乎包裹不再被维护了33个问题和8个拉取请求,最后一次提交是4个月前。
那么,你们如何为你的项目添加音频?我正在使用React Native 0.37 btw。
答案 0 :(得分:4)
好的,基于Nirav Ranpara's
评论和他提供的链接:
https://github.com/zmxv/react-native-sound/issues/36
这些是使用React Native 0.37实现在Android上运行的步骤
1.编辑android / settings.gradle以声明项目目录:
include ':RNSound', ':app'
project(':RNSound').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sound/android')
2。编辑android / app / build.gradle以声明项目依赖项:
dependencies {
...
compile project(':RNSound')
}
3。编辑android / app / src / main / java /.../ MainApplication.java以注册本机模块:
注意: MainApplication.java 而不是MainActivity.java
...
import com.zmxv.RNSound.RNSoundPackage;
...
...
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(), // don't forget your comma
new RNSoundPackage() // insert this line
);
}
...
4。在您的应用程序中导入如下:
import { default as Sound } from 'react-native-sound';
注意不要这样做:
// wrong
var Sound = require('react-native-sound');
// also wrong
import {Sound} from 'react-native-sound';
注意:步骤1和2与文档相同,而3和4不同。