React-native使用react-native-sound从s3 URL播放音频

yi0zb3m4  于 2023-10-22  发布在  React
关注(0)|答案(2)|浏览(160)

我是react-native的新手,正在尝试创建一个音频播放应用程序。
我使用react-native-sound来实现同样的功能。在文档中,它指定我可以从网络播放文件。但我找不到任何相同的文档。
现在我正在从ROR后端上传音频文件,并将文件添加到react内部的本地文件夹中。我把它改成了aws s3。
音频文件的开头是-

var whoosh = new Sound(this.state.soundFile, Sound.MAIN_BUNDLE, (error) => {

其中this.state.soundFile是指定文件夹中的本地文件名(字符串)。
这可能吗?

zujrkrfu

zujrkrfu1#

你可以使用react-native-sound播放远程声音,方法是指定一个url,而不设置bundle:

import React, { Component } from 'react'
import { Button } from 'react-native'
import Sound from 'react-native-sound'

class RemoteSound extends Component {
  playTrack = () => {
    const track = new Sound('https://www.soundjay.com/button/button-1.mp3', null, (e) => {
      if (e) {
        console.log('error loading track:', e)
      } else {
        track.play()
      }
    })
  }

  render() {
    return <Button title="play me" onPress={this.playTrack} />
  }
}

export default RemoteSound
dy2hfwbg

dy2hfwbg2#

从远程URL播放声音

import Sound from 'react-native-sound';

var sound1 = new Sound('https://raw.githubusercontent.com/zmxv/react-native-sound-demo/master/pew2.aac', '',
  (error, sound) => {
    if (error) {
      alert('error' + error.message);
      return;
    }
    sound1.play(() => {
      sound1.release();
    });
  });

相关问题