如何将 16 位 PCM 原始音频数据转换为 Float32Array 以供 Mozilla Audio API 播放

发布于 2024-12-19 18:44:52 字数 408 浏览 3 评论 0原文

我有一个原始单通道 16KHz 16 位小端 PCM 音频数据的 byte[],换句话说,它是 wav 文件的数据部分(格式如上所述)减去前 44 字节标头。

现在我想使用 Mozilla Audio API 来播放它,如 https://wiki.mozilla.org/Audio_Data_API,更具体地说是使用 Audio.mozWriteAudio(buffer) 函数。根据我的阅读,Mozilla 音频 api 期望原始数据为 Float32Array,我看到了一些示例样本,它们在 (-1,1) 之间。

现在,如何将我的 byte[] 转换为 Java 中所需的 Float32Array?

I have a byte[] of raw single channel 16KHz 16bit little-endian PCM audio data, in other words it is the data portion of a wav file (format as described above) less the first 44 bytes header.

Now I want to play it with the Mozilla Audio API as indicated in https://wiki.mozilla.org/Audio_Data_API, more specifically with the Audio.mozWriteAudio(buffer) function. From my reading the Mozilla audio api is expecting a Float32Array for the raw data, I saw some example samples, they are between (-1,1).

Now, how do I convert my byte[] to the required Float32Array in Java?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文