React Native, как воспроизвести звук после «onPress»? - PullRequest
0 голосов
/ 03 ноября 2018

Вот мой код:

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

Я хочу написать функцию «onPress», которая будет воспроизводить звук .mp3. Я уже импортировал response-native-sound , и мой файл .mp3 готов к работе, я просто не знаю, как воспроизводить звук после вызова функции onPress.

Ответы [ 3 ]

0 голосов
/ 03 ноября 2018

Самый простой способ - это сначала создать новый экземпляр, например, следующий. создать это в конструкторе, чтобы загрузить его, когда компонент монтирует Примечание: пожалуйста, поместите ваш mp3 или wav файл в android / app / src / main / res / raw

const whoosh  = new Sound('swoosh.mp3', Sound.MAIN_BUNDLE);

просто вызовите его в своей функции

whoosh.play()
0 голосов
/ 08 апреля 2019
  1. Npm установите «response-native-sound» и свяжите его с вашим проектом.
  2. Импорт звука из активного звука

    импорт звука из'act-native-sound ';

  3. Поместите свой mp3-файл в папку и укажите путь:

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

  4. Поместите этот код в вашу функцию "onPress".

    const s = новый звук (requireAudio, (e) => { если (е) { console.log («Ошибка в SOUND», e); вернуть; } s.play (() => s.release ()); });

0 голосов
/ 03 ноября 2018

На мой взгляд, если вы хотите прослушать звук, вы можете попробовать это. Синтаксис = реагировать.

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();
}
...