为什么不播放我获取的blob音频文件?我正在使用React Native Track Player

xienkqul  于 2022-12-19  发布在  React
关注(0)|答案(1)|浏览(238)

我现在使用React Native Track Player来播放音频,它可以很好地播放本地音轨。当我通过我的私有API获取它时,它正确地以blob的形式获得了音频对象--这是我登录时控制台返回的内容。
第一个月
我把这个blob转换成了一个url,所以我不明白为什么这个不起作用。下面是我的代码-'

export const FetchGetFile = async () => {
  let res = await fetch('http://localhost:8080/downloadFile/9to5.mp3');
  console.log(res);
  const data = await res.blob();
  let bloburl = URL.createObjectURL(data);
  const track = {
    url: bloburl,
    title: 'a',
    artist: 'b',
    duration: 166,
  };
  TrackPlayer.add(track)
};

'
在FetchGetFile()中,我用require(./song.mp3)替换了track中url属性中的本地音频文件,这是有效的,所以我认为这与音频blob url或react原生track播放器有关。

wwtsj6pe

wwtsj6pe1#

使用RN提取blob https://github.com/joltup/rn-fetch-blob

RNFetchBlob.config({
  // add this option that makes response data to be stored as a file,
  // this is much more performant.
  fileCache: true,
})
  .fetch("GET", "http://www.example.com/file/example.zip", {
    //some headers ..
  })
  .then((res) => {
    // the temp file path
    console.log("The file saved to ", res.path());
  });

相关问题