首页 > 解决方案 > 使用 Fetch 流式传输音频

问题描述

我正在开发一个音乐应用程序。这需要我播放大文件。我发现有一些解决方案。一种是将音乐下载到本地存储并在可用时使用。我还可以通过网络传输音乐。我一直没有成功,因为它与后者有关。

我的问题是,如何从流中的音频播放?

这是我到目前为止的代码:

fetch(audio)
  .then((res) => {
    const reader = res.body.getReader()

    const audioObj = new Audio()

    reader.read().then(function processAudio({ done, value }) {
      if (done) {
        console.log("You got all the data")
        return
      }

      /// DO SOMETHING WITH VALUE

      return reader.read().then(processAudio)
    })
  })
  .catch((err) => {
    console.log(`Something went wrong ${err}`)
  })

我曾尝试查看浏览器中的其他 API,例如。媒体流

任何帮助深表感谢。谢谢你。

标签: javascriptaudiostreaming

解决方案


有一个可能有用的 WebAudio API。它似乎可以准确地为您提供所需的东西。

Web Audo API


推荐阅读