【问题标题】:How to play audio file in react-native? Primarily in android如何在 react-native 中播放音频文件?主要在安卓
【发布时间】:2016-11-22 01:40:55
【问题描述】:

我非常努力地从我的 react-native 应用程序中播放音频文件。 目前我正在尝试使用这个包:

react-native-sound

但无法使其正常工作,我收到此错误: 无法读取未定义的属性 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 顺便说一句。

【问题讨论】:

标签: javascript android audio react-native


【解决方案1】:

好的,所以基于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 步不同。

【讨论】:

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