3.7有办法直接播放 arraybuffer 格式的音频文件吗

我通过文本转成语音,得到了一段arraybuffer 内存数据, 然后我想直接进行播放。

怎么转成cocos可以播的格式。

要发布到 浏览器,微信小游戏和抖音小游戏

我用原生可以播。 web和小游戏,但是写那么多代码也麻烦。

浏览器的本地音频文件?是不是用input标签来获取的本地文件,如果是的话,那先给个简单版本的,直接用File对象转成URL即可;
示例:
input/* HTMLInputElement */.click();

input.onchange = () => {

let file = input.files[0];

if (file) {

    // 就这个函数

    let url = URL.createObjectURL(file);

    // URL——cocos版本

    assetManager.loadRemote(url, { ext: '.mp3' }, (_, clip: AudioClip) => {

        // this._source.clip = clip;

        // this._source.play();

        this._source/* AudioSource */.playOneShot(clip);

        // 用完回收

        URL.revokeObjectURL(url);

    });

    // URL——浏览器标签版本

    let audio = document.createElement('audio');

    audio.src = url;

    audio.play();

    audio.onload = () => {

        // 用完回收

        URL.revokeObjectURL(url);

    };

    // 清空当前选择

    input.value = '';

}

};

如果只有arraybuffer,也可以用“URL.createObjectURL(new Blob([arrayBuffer]));”,其他代码不变

浏览器的话可以, 小游戏有 blob 这个东西吗。 主要是小游戏要用。

我的arraybuffer 不是file。 我上面描述有问题, 是我从 文本转语音 得到的 arraybuffer。 在内存里