Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 如何在“后”播放声音;onPress";?_React Native_Onpress_React Native Sound - Fatal编程技术网

React native 如何在“后”播放声音;onPress";?

React native 如何在“后”播放声音;onPress";?,react-native,onpress,react-native-sound,React Native,Onpress,React Native Sound,以下是我的一些代码: <TouchableOpacity style={styles.button} onPress={this.onPress} > <Text> Play Sound </Text> </TouchableOpacity> 播放声音 我想写一个函数“onPress”,它可以播放.mp3的声音。 我已经导入了react native sound并准备好了.mp3文件,我

以下是我的一些代码:

<TouchableOpacity
       style={styles.button}
       onPress={this.onPress}
       >
       <Text> Play Sound </Text>
</TouchableOpacity>

播放声音
我想写一个函数“onPress”,它可以播放.mp3的声音。
我已经导入了react native sound并准备好了.mp3文件,我只是不知道调用onPress函数后如何播放声音

在我看来,如果你想听这个声音,你可以试试这个。 Syntax=react

Import Sound from "react-native-sound";

Sound.setCategory('Playback');
const whoosh = new Sound('whoosh.mp3', Sound.MAIN_BUNDLE, (error) => {

if (error) {
 console.log('failed to load the sound', error);
 return;
 };
whoosh.play((success) => {
  if (success) {
  console.log('successfully finished playing');
  } else {
   console.log('playback failed due to audio decoding errors');
   reset the player to its uninitialized state (android only)
   whoosh.reset();
}

最简单的方法是首先创建一个新实例,如下所示。 在构造函数中创建它,以便在组件装入时加载它 注意:请将mp3或wav文件放在android/app/src/main/res/raw中

const whoosh  = new Sound('swoosh.mp3', Sound.MAIN_BUNDLE);
只需在函数中调用它

whoosh.play()
  • Npm安装“react native sound”并与您的项目链接
  • 从本地声音导入声音

    从“react native Sound”导入声音

  • 将mp3文件放入文件夹中,并注明路径:

    const requireAudio=require('./xyz.mp3')

  • 将此代码放入“onPress”函数中

    常数s=新声音(要求音频,(e)=>{ 如果(e){ console.log('声音错误',e); 返回; } s、 播放(()=>s.release()); });


  • 医生兄弟,医生们!这与已有的答案有什么不同呢?这只是一个两行代码,很容易理解。在我的实验中,声音文件必须引用为
    /swoosh.mp3
    ,而不是
    swoosh.mp3
    (注意前面的点和斜线),否则在捆绑过程中会抛出错误(TypeError:无法读取DeltaPatcher.js:77中未定义的属性“concat”)