web-audio-api相关内容

webaudio 不适用于在 Android 设备上使用人行横道的离子

我创建了一个 ionic webrtc 应用程序,它在使用 ionic serve 时运行完美(在网络浏览器上,巫婆是正常的).但由于 getUserMedia 函数无法执行,因此根本无法在设备上运行. 我找到的解决方案是安装 crosswalk,更新 AndroidManifest.xml 中的权限,并在 index.html 上添加元标记以确保内容安全: ..
发布时间:2021-12-15 16:59:24 其他开发

了解网络音频中的 getByteTimeDomainData 和 getByteFrequencyData

无论我在哪里看,这两种方法的文档都非常通用.我想知道我从每个方法获得的返回数组到底在看什么. 对于 getByteTimeDomainData,每次传递覆盖的时间段是什么?我相信大多数示波器每次通过都覆盖 32 毫秒的跨度.这也是这里涵盖的内容吗?对于实际的元素值本身,范围似乎是 0 - 255.这是否相当于 -1 - +1 伏特? 对于 getByteFrequencyData 覆盖 ..
发布时间:2021-11-30 16:40:21 前端开发

用于直播的网络音频 API?

我们需要将实时音频(来自医疗设备)流式传输到网络浏览器,端到端延迟不超过 3-5 秒(假设网络延迟为 200 毫秒或更短).今天我们使用浏览器插件 (NPAPI) 进行解码、过滤(高、低、频段)和播放 音频流(通过 Web 套接字传送). 我们想更换插件. 我正在查看各种 Web Audio API 演示 以及大部分我们所需的功能(播放、增益控制、过滤)似乎在 Web Audio AP ..

使用网络音频 API 和 navigator.getUserMedia 在 Android 版 Chrome 中录制音频

Android 4.1 上的 Android 版本 30 和 31 Beta 版 Chrome 似乎无法使用 HTML5 网络音频和 navigator.webkitGetUserMedia 正确录制音频.(Android 上的 Chrome 30+ 应该支持这些 API.) 症状是代码看起来工作正常,包括显示是否允许麦克风访问的提示,但记录的数据只包含零. 我创建了一个简化的测试用例 ..

录制 webaudio api 的音频上下文的声音

我在我的项目中使用网络音频 API.有没有办法记录发送到 webkitAudioContext.destination 的音频数据?.wav 文件正在我的浏览器中播放,因此应该有某种方法可以将该数据存储到 (.wav) 文件中.我知道这是可能的,但还没有找到任何解决方案:(recorder.js 可以帮助我,但到目前为止我发现它只录制麦克风实时输入,是否可以在 recorder.js 的帮助下录制 ..

从浏览器访问麦克风 - Javascript

是否可以使用客户端 JavaScript 从浏览器访问麦克风(内置或辅助)? 理想情况下,它会将录制的音频存储在浏览器中.谢谢! 解决方案 这里我们使用 getUserMedia() 将麦克风音频捕获为 Web Audio API 事件循环缓冲区......每个音频事件循环缓冲区的时域和频域片段是打印(在浏览器控制台中可见,只需按 F12 或 ctrl+shift+i 键) ..
发布时间:2021-11-30 16:01:20 前端开发

如何导出网络音频流的最后 3 秒数据

问题:我正在使用网络音频 API.我需要缓冲一个不间断的音频流,比如无线电流.当我收到通知时,我需要获取过去 3 秒的音频数据并将其发送到服务器.我怎样才能做到这一点?nodejs 有一个内置的缓冲区,但它似乎不是一个循环缓冲区,如果我向其中写入一个不间断的流,它似乎被溢出了. 帮助你理解我的问题的背景:我正在实施一种基于环境音频的 Web 身份验证方法.简而言之,我需要比较两段音频信号(一 ..
发布时间:2021-09-22 20:13:32 前端开发

在 PHP 中编码/取消屏蔽 Websocket 二进制数据

我已经设置了一个 PHP WebSocket 服务器,它能够从客户端读取字符串数据.我的问题是如何处理二进制数据类型.下面是客户端的代码,它将麦克风输入记录为 Float32Array 对象,并以二进制形式通过 WebSocket 连接发送数据. websocket = new WebSocket("ws://...");websocket.binaryType = "arraybuffer"; ..
发布时间:2021-09-22 20:13:29 PHP

Web Audio API — 使用增益对信号进行平方

是否可以通过创建 Gain 实例并将信号连接到增益输入和幅度控制参数来对信号进行平方?因为我至少在 Firefox 中看到了奇怪的结果.我可以看到 Tone.js 使用波形整形器代替 pow 操作,所以也许这是要走的路.但我很好奇,因为 API 说 gain 参数是音频速率,显然必须涉及一些延迟. 解决方案 这对我有用: var c = new AudioContext();var ..
发布时间:2021-09-22 20:13:26 其他开发

WebAudio API:更改样本的音高(例如 mp3)

我想我可以使用 playbackRate 来拉伸样本,但是我该如何设置音高呢?我试图在不使用任何库的情况下实现这一目标. 我在规范中发现了一些关于多普勒音高效应的信息,但除此之外,我找不到与我的目标真正相关的任何内容.只是一个简单的音高转换,这甚至可能吗?如果是,那怎么办? 编辑:是不是 playbackRate 也改变了音高,但浏览器应用了某种修正?我认为情况可能是这样.如果是这种情 ..
发布时间:2021-09-22 20:13:24 前端开发

WebAudio 改变 Listener 和/或 Panner 的方向

我想了解 WebAudio API 的工作原理.我有两个对象;一个代表听者,一个代表源.并使用以下链接作为示例.我可以移动音源,声音位置也会改变. https://mdn.github.io/webaudio-examples/panner-节点/ 已提供更改方向的命令:即this.panner.setOrientation 或this.listener.setOrientation. ..
发布时间:2021-09-22 20:13:21 其他开发

用于 NOTCH 滤波器的 BiquadFilterNode.Q

我找不到关于 BiquadFilterNode.Q 值在您设置 BiquadFilterNode.type 为 'notch'.实际上,陷波滤波器应该衰减一定频率范围内的信号,但 BiquadFilterNode.frequency 似乎控制“频率范围的中心"和 Q 值据说可以控制“频带的宽度". 但是,没有关于将使用什么单位的信息.说,如果我想衰减频率在 300 Hz - 700 Hz 之 ..
发布时间:2021-09-22 20:13:18 前端开发

ScriptProcessorNode - 防止抖动?

我正在使用 ScriptProcessorNode 来录制来自 MediaStream/MediaStreamNode 的音频.任何时候 UI 操作稍微阻塞主线程(例如在画布上绘图),音频结果在这些特定时刻都会抖动. 看来 AudioWorker 最终会实施,我认为这可以解决我的问题,但截至目前,解决方案是什么? 干杯! 解决方案 使用 MediaRecorder API 而不 ..
发布时间:2021-09-22 20:13:15 其他开发

如何调制 Web Audio API Square OscillatorNode 的脉宽?

我想通过连接到其他 OscillatorNode 来调制 Web Audio API OscillatorNode 的方波.但是我在 AudioParams 中找不到参数. 这是可能的还是有解决方法? 我想过使用“audioContext.createWaveTable()"函数创建一个“自定义"波表振荡器.该波表可以包含具有扫描脉冲宽度的不同脉冲. 但我不知道如何通过 Audi ..
发布时间:2021-09-22 20:13:12 其他开发

如何从 Web Audio Api ScriptProcessor 调制参数?

我正在使用 Web Audio Api 开发浏览器合成器.我想通过 ScriptProcessorNode 开发自定义 Oscillator 模型,而不是使用“内置"OscillatorNode.我能够用其他节点调制“内置"节点的 AudioParams. 如何将 ProcessorNode 的内部参数连接到其他 AudioNode? 解决方案 如果您的意思是“我如何创建 ScriptP ..
发布时间:2021-09-22 20:13:09 其他开发

Web Audio Api,实时更新循环缓冲区数据,在 Firefox 中不可能?

在播放循环缓冲区时尝试更改底层缓冲区数据时遇到问题. bufferData = audioContext.bufferSourceNode.buffer.getChannelData(0);缓冲区数据[100] = 新值; 这种行为似乎在大多数浏览器中都能正常工作——我已经在 Chrome、Safari、Opera、Edge 中测试过,一切都很好——但这在 Firefox 中似乎是不可能的.这 ..
发布时间:2021-09-22 20:13:06 其他开发