gpt4 book ai didi

javascript - Web Audio API Inconsistent Unable to decode audio data DOMException

转载 作者:行者123 更新时间:2023-12-03 00:23:27 26 4
gpt4 key购买 nike

从昨天开始,我一直在查看所有出现此错误的 SO 帖子,虽然我尝试了一些建议的方法,但没有一个解决问题。因为错误在不同类型的流中不一致,所以很难找到根本原因。我希望我在这里分享我的问题,也许有人会看到一个模式或有一个解决方案。

  • 首先,本地托管的文件和网络托管的流在 HTML5 中运行良好 audio标签。看到我们可以假设路径是好的。
  • 其次,我还注意到下面的代码在我最喜欢的网络电台 WeFunkRadio 上按预期工作。 ,但我不想在为完全不同的目的开发应用程序时对它们进行 ping 操作。
  • 托管在 Node.js 服务器的 /public 中的公共(public)域 mp3但是,具有以下代码的文件夹始终返回错误:DOMException: Unable to decode audio data

  • 我试图将代码剥离到使用 WikiCommons hosted public domain file 中的媒体复制问题所需的最低限度。 .我目前正在开发最新的 Chrome 85.0.4183.102。
    StreamURL ='https://upload.wikimedia.org/wikipedia/commons/transcoded/9/90/JesusWalkedThatLonesomeValley.ogg/JesusWalkedThatLonesomeValley.ogg.mp3',

    const options = {
    headers: new Headers({ 'content-type': 'audio/mp3' }),
    mode: 'no-cors',
    cache: 'default',
    };

    const getAudioData = () =>
    fetch(StreamURL.url, options)
    .then((response) => response.arrayBuffer())
    .then((arrayBuffer) => audioCtx.decodeAudioData(arrayBuffer))

    async function createAudioStream() {
    try {
    let playback = audioCtx.createBufferSource();
    playback.buffer = await getAudioData();
    playback.connect(audioCtx.destination);
    playback.start(0);
    } catch (err) {
    console.error(err);
    }
    }

    audioContainer.addEventListener('click', createAudioStream);
    可以在开发者控制台网络选项卡中看到数据确实进入了浏览器,但是它仍然返回解码错误。现在的错误阻止我使用 Web Audio API 对音频进行进一步处理。
    enter image description here

    最佳答案

    您的片段不完整。我不得不对其进行一些修改以使其运行。
    放一个console.log(arrayBuffer)在您调用 decodeAudioData 之前.我得到一个空的arrayBuffer , 所以 decodeAudioData自然无法解码。
    不知道为什么arrayBuffer是空的。

    关于javascript - Web Audio API Inconsistent Unable to decode audio data DOMException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63922218/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com