问题标签 [audiocontext]

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.

0 投票
1 回答
1340 浏览

javascript - Howler + ctx Analyzer 问题

我正在尝试将音频分析仪节点连接到我的咆哮设置。

问题是我得到一个由“128”填充的数组,这意味着没有声音,但声音正在播放。

这是我的代码:

这是我的项目减少到最小的一个 plunker:

普朗克

我的实现基于这些来源:

avanwink在这篇文章上的回答

声音可视化的文档

0 投票
0 回答
381 浏览

javascript - 通过远程位置 (Opera) 的 URL 加载音频文件?

也许有人知道为什么 codepend 不从 URL 加载音频文件?(我没有专业的codepen,所以我不能使用直接上传文件到pen)。

我的程序中有这个音频“加载器”实现:

如果我在本地使用此代码(而不是在 codepen 上),它可以正常工作。它会加载这些文件,然后我可以按照我的意愿播放这些音频文件。但是如果我在 codepen 上运行它,它会抛出这个(注意,我还在https://cors-anywhere.herokuapp.com/URL 前添加了绕过 CORS):

完整的笔可以在这里检查:https ://codepen.io/andriusl/pen/proxKj

更新。 这似乎与浏览器有关。AudioContext 不能与 Opera 浏览器一起正常工作,所以这个问题比 codepen 本身更面向浏览器。

0 投票
0 回答
198 浏览

twilio - Twilio.Device.setup 抛出错误

我正在通过 twilio.js 开发 BrowserPhone,版本是 1.4.20。

当令牌过期时,我正在处理 Twilio.Device.offline(),并重新生成令牌并重新设置 Twilio.Device。

重新设置 6 次后,Twilio.js 抛出错误。

*Failed* to construct 'AudioContext': The number of hardware contexts provided (6) is greater than or equal to the maximum bound (6).

我怎样才能防止这个错误?

我正在使用这些代码。

0 投票
3 回答
2368 浏览

javascript - Javascript - 在音轨中的确切位置寻找音频到某个位置

设想:

  1. 音频从0:00开始播放。恰好在0:05时,曲目向前跳到0:30
  2. 曲目在0:30立即开始播放,而在0:35时,曲目向后跳到0:05并播放音频文件的其余部分

摘要:播放:0:00 到 0.05跳过:0:05 到 0:30播放:0:30 到 0:35跳过:0:35 到 0:05播放:0.05 到 END

当需要立即和无缝跳过时,真正的问题就出现了。例如,setTimeout非常不准确和漂移意味着它不能在这种情况下使用。

我尝试使用 Web Audio API 来完成此操作,但我仍然无法立即转换。我目前正在使用 调度加载歌曲的片段AudioBufferSourceNode.start(when, offset, duration);,最初是(0 [when], 0 [offset], 0:05 [duration])为上面的示例传入的。在此之后,我仍然使用setTimeout调用相同的函数在0:30之前运行并安排类似(0 [when] + 0:05 [previous duration], 0:30 [offset], 0:05 [duration]).

这个例子

我无法让这个简化的示例 100% 正常工作,但您可以在控制台中看到我的尝试。由于 StackOverflow 不支持 AJAX,我还注释掉了代码。

我愿意使用您想到的任何其他 API 或方法!

0 投票
0 回答
159 浏览

javascript - 将 AudioContext 输出转换为 mp3 或 ogg

我使用 AudioContext HTML5 从麦克风录制音频,输出(每一帧)是这样的:

这些数字是什么以及如何将其转换为 mp3 或 ogg ?

0 投票
0 回答
1010 浏览

javascript - Web Audio API - 音高检测在长音符上失去音高

bsd

您好,我正在尝试实现音高检测,我尝试了几种库和方法,最终在这里找到了这个音高检测代码:

https://webaudiodemos.appspot.com/pitchdetect/

问题是,当向音高检测器唱歌/哼唱同一个音符时,它会找到正确的音符,但大约几秒钟后,音高会丢失,起初它会跳高几个八度,然后它会完全迷失了。

为什么会这样?为什么唱长音时音调会丢失?

0 投票
1 回答
890 浏览

audiocontext - “AudioContext”类型上不存在属性“createMediaStreamDestination”

尝试通过音频标签从文件中获取流时出现上述错误。

0 投票
0 回答
74 浏览

audio - 无法从音频缓冲区向 s3 发送波

我通过 xmlhttprequest 从 Ispeech 检索文件,然后使用音频上下文对其进行解码!但是当我尝试将文件保存到 FS 时,它只会产生损坏的 wav 文件!

编辑:原始数据如下所示:

0 投票
0 回答
811 浏览

html - 如何使用 Web Audio API 释放内存?

在我的代码中,我加载了一个 mp3 文件并将其解码为 AudioBuffer(window.buffer) 然后我成功播放

但是它消耗了大约100MB的大量内存如何释放它们?我试过这样

镀铬内存视图

在 chrome 内存视图中

有时内存在大约 10 秒内释放

有时会在大约 1 分钟内释放

有时似乎永远不会释放

我想知道我的代码是否是释放音频缓冲区的正确方法?

我需要关闭 AudioContext 吗?

0 投票
1 回答
82 浏览

javascript - AudioContext: Oscillator - 知道所有声音何时播放完毕

我正在使用这个javascript api (miniMusic)。我能够创建音乐,然后导出 javascript 代码。我也可以运行它。

我希望能够知道我的音乐何时结束,以便我可以再次播放并控制它。

循环立即运行,因此我无法使用索引来定位音乐正在播放的音符。有人能帮我吗?