gpt4 book ai didi

javascript - 如何在 javascript 中播放超声波 WAV/PCM 文件而不丢失数据

转载 作者:行者123 更新时间:2023-12-02 22:40:39 25 4
gpt4 key购买 nike

我需要在浏览器中循环播放一个音频文件(WAV、OGG 或原始 PCM),其中包含人耳听不到(超声波)的片段(但包含对我有值(value)的数据)。

在 Mac 上使用 Chrome,我注意到如果未听到的声音片段相对较短,我会恢复所有数据(听到 + 未听到)。相反,如果未听到声音的片段长于某个阈值,它将快速淡出整个 channel ,有效地完全取消文件的其余部分,直到下一个循环周期开始。

我加载和播放声音的方式是这样的:

var b = msg.data; // binary msg received from websocket
b.type = "audio/wav";
var URLObject = window.webkitURL || window.URL;
var url = URLObject.createObjectURL(b);
var snd = document.createElement("audio");
snd.setAttribute("src", url);
snd.addEventListener("loadeddata", function() {
snd.loop = true;
snd.muted = false;
snd.play();
});

我正在寻找一种方法来取消这种对未听声音的自动过滤。最终,我想要一种方法来实现这个跨浏览器。如果无法使用 JavaScript,也将接受 Flash 解决方案。

超声波 WAV 文件示例(每个约 1MB):
https://drive.google.com/file/d/0B5sMkxczD6sNbm04MmxMTmIwdlk/edit?usp=sharing

https://drive.google.com/file/d/0B5sMkxczD6sNal91WUhRNWo2d3c/edit?usp=sharing

最佳答案

不幸的是,没有一种方法适用于所有浏览器。
对于桌面和 iOS 上的大多数浏览器,您也可以使用 Web Audio API,如下所示:

http://www.html5rocks.com/en/tutorials/webaudio/intro/

对于 IE/Android 你需要使用 Flash 播放 WAV/PCM,或者播放带有 HTML5 Audio 标签的 OGG,但后者可能会丢失超声波频率。

所以一般来说,你需要编写代码来检查当前浏览器支持的内容并使用它,从 Web Audio API 开始,然后尝试 HTML5 Audio,然后是 Flash。

关于javascript - 如何在 javascript 中播放超声波 WAV/PCM 文件而不丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24138670/

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