问题标签 [web-audio-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 尝试通过 websocket 流式传输 MP3 时出现 DOM 异常 12
我目前正在做一个小项目,我想将 mp3 拆分为帧,通过 websocket 将它们发送到客户端(浏览器),然后使用 WebAudio(webkitAudioContext)播放它们。我的服务器正在运行 nodejs 并将数据作为二进制传输,我使用 binaryJS。我正在测试的浏览器是 Chrome 25.0.1354.0 dev,在 Ubuntu 12.04 上运行。
我已经成功地将 mp3 分割成帧,或者,至少,根据我的测试,它似乎有效。如果我将帧写回文件中,mplayer 播放文件没有问题,并且还可以正确解析标题。每个帧都存储在正确大小的 nodejs 缓冲区中,缓冲区的最后一个字节始终是下一个同步字之前的第一个字节。
作为初始测试,我只发送第一个 MP3 帧。客户端成功接收到帧(存储在 ArrayBuffer 中),并且缓冲区包含正确的数据。但是,当我调用 decode 时,我收到以下消息:
我调用 decodeAudio 的函数如下所示:
我试图解码的初始帧可以在这里找到。
几天来,我一直在努力解决这个问题。有没有人设法解决这个问题并成功解码了 mp3 帧,看看我做错了什么?我在 StackOverflow 上找到了两个相关的问题,但答案并没有帮助我解决问题。但是,根据此处接受的答案,我的帧应该有资格作为有效的 mp3 块,因此可以被解码。
提前感谢您的帮助!
javascript - 使用 WebAudioApi 在 Javascript 中对音频 PCM 数据进行上采样
对于一个项目,我正在通过 WebSockets 从 Java 服务器检索实时音频流。在服务器上,我以 8 位有符号字节值的形式处理 16Bit/8000hz/mono 的样本(两个字节组成一个样本)。但是,在浏览器上,支持的最低采样率为 22050 Hz。所以我的想法是“简单地”对现有的 8000 到 32000 赫兹进行上采样,这是受支持的,在我看来是一个简单的计算。
到目前为止,我已经尝试过线性上采样和余弦插值,但都没有奏效。除了听起来确实失真之外,第一个还添加了一些咔哒声。Chrome 中的 WebAudioAPI 可能也有问题,但至少声音正在播放并且几乎无法识别它应该是什么。所以我猜没有编解码器或字节序问题。
这是接收到带有声音数据的二进制数据包时执行的完整代码。为了简单起见,我一直在创建新的缓冲区和缓冲区源(是的,对性能没有好处)。data
是一个数组缓冲区。首先,我将样本转换为Float,然后进行上采样。
google-plus - 使用 Web Audio API 访问 YouTube 直播
是否可以在 Javascript 和 Web Audio API 中访问 YouTube 直播内容(视频/音频),例如实时混合音频内容?
有效负载 HTML5 兼容还是仅 Flash?
... 还是通过 CORS 或许可条款限制对这些流的访问?
在我的情况下,将在 Google Hangout http://www.google.com/+/learnmore/hangouts/onair.html中创建直播流
javascript - 为什么 Safari 或 Firefox 不能处理来自 MediaElementSource 的音频数据?
Safari 或 Firefox 都无法MediaElementSource
使用 Web Audio API 处理来自 a 的音频数据。
有没有计划在不久的将来修补这个问题?或者是否有一些解决方法仍然可以为用户提供音频控制?
对于 Apple 来说,这可以在 WebKit Nightlies 中修复,还是我们必须等到 Safari 8.0发布才能让 HTML5<audio>
与 Web Audio API 很好地配合?Web Audio API 至少从 6.0 版开始就存在于 Safari 中,我最初在 Safari 7.0 发布之前很久就发布了这个问题。有没有理由这还没有解决?它会被修复吗?
对于 Mozilla,我知道您仍在从旧的音频数据 API 进行切换,但这是您的 Web 音频实现的一个已知问题吗?它会在 Firefox 的下一个版本之前得到解决吗?
audio - youtube音频的实时处理
是否可以使用 youtube api 将音频流重定向到可以实时处理的位置?
我知道如果我能以某种方式将音频数据输入 ScriptProcessorNode,它可以被转发到在后台等待执行重型 DSP 的 NaCl 模块。
javascript - 媒体元素音频源节点如何播放
所以我遇到了一个问题,我试图从标签创建一个网络音频源节点。代码如下所示:
问题在于最后两行。我似乎无法通过 webkit 音频上下文播放音频...
如果我做
声音将开始播放,但不会通过音频节点(这是有道理的)
我也试过
无济于事...
非常感谢任何帮助或建议,并提前感谢您的时间!
艾萨克
编辑:当 console.logging OBJECT.source 声称有零输入和 1 输出时。这对于源节点是否正确?
javascript - 如何在 THREE.js 中获取相机的方向
我正在使用 THREE.JS 和 Web Audio API 创建一个 3d 游戏。我遇到的问题之一是我想使用网络音频侦听器方向,并将侦听器定义为摄像机,其位置和方向不断更新
我的问题是,是否可以轻松获得三个相机的矢量方向?
我试图通过使用旧相机位置来计算它,并使用速度矢量来计算它面对的方向,但是当相机静止时这将不起作用......
通过使用 camera.rotation.x, camera.rotation.y, camera.rotation.z 创建单位向量是否可行?
还是有更简单的方法?
非常感谢您的宝贵时间!
html - 在 nodejs 服务器上保存 wav
我正在尝试将录制的音频保存到服务器上的音频文件中。
参考:http ://www.smartjava.org/content/record-audio-using-webrtc-chrome-and-speech-recognition-websockets
代码:
}
函数记录(){rec.record();
}
函数 stopAndSend() {
}
服务器端代码:
如何将音频 blob 写入音频文件?
javascript - 如何对二进制数据进行跨域请求?
我正在使用 HTML5 音频 API 制作一个 Web 应用程序,它需要来自另一个域的 mp3 文件,
我写这个是为了将 mp3 加载为arraybuffer
,但这不能从另一个域加载文件。
而且由于数据是二进制的,所以我无法找到一种将它作为 JSONP 请求的方法。
有什么解决方法吗?
html - 在 Javascript 中为 Web Audio API 使用本地文件
我正在尝试使用 Web Audio API 在我的 iPhone 游戏上播放声音。问题是这个应用程序完全是客户端。我想将我的 mp3 存储在本地文件夹中(并且不受用户输入驱动),因此我不能使用 XMLHttpRequest 来读取数据。我正在研究使用 FileSystem 但 Safari 不支持它。
有没有其他选择?
编辑:感谢以下回复。不幸的是,音频 API 对于游戏来说非常慢。我有这个工作,延迟只是让用户体验无法接受。澄清一下,我需要的是类似 -
但这给了我错误-
XMLHttpRequest 无法加载 file:///sounds/beep-1.mp3。仅 HTTP 支持跨源请求。未捕获的错误:NETWORK_ERR:XMLHttpRequest 异常 101
我了解读取本地文件的安全风险,但在您自己的域内肯定可以吗?