问题标签 [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.
javascript - Javascript Reg Pack Crusher 不会粉碎 Audiocontext
我想粉碎这个 Javascript 代码:
使用这款破碎机:
http://siorki.github.io/regPack.html
它适用于许多代码,但不会破坏 AudioContext 变量。没有第一行它工作正常。
Javascript 控制台显示以下错误:
有人可以告诉我我做错了什么或推荐其他破碎机吗?
html - 使用 AudioContext 显示歌曲的整体波形
我正在尝试显示歌曲的波形,就像 SoundCloud 为每个单独的曲目所做的那样,但我遇到了一些困难。
到目前为止,这是我认为是正确的开始。
好吧,这显然只是部分的,但最终结果将是显示整个轨道,轨道的波形从开始到结束在画布的宽度上清晰地表示。
非常感谢您对此的帮助。
尊敬,
朱尔斯
javascript - 使用 AnalyserNode 进行频率截止
我正在使用 Web API 创建一个音频条可视化工具,我希望这些条只显示 ~ 40Hz 到 ~10kHz。我发现的唯一东西是频域,但这并没有为我提供我正在寻找的东西(AnalyserNode.fftSize)。有没有办法只可视化该频率?这是我的代码:
javascript - setTimeout 返回错误并带有 Uncaught TypeError: Illegal invocation in AudioContext in Chrome
在 Chrome 中,我首先使用 AudioContext 创建一个连续的音调:
现在我想在几毫秒后停止它。所以我这样做:
这将返回错误Uncaught TypeError: Illegal invocation
。
但是,如果我这样做;
它工作正常。
我现在想知道为什么第一个不起作用并返回错误。这似乎是执行此操作的直接方法。
javascript - 将 MediaElementAudioSourceNode 连接到 AudioContext.destination 不起作用
这是一个显示问题的小提琴。基本上,每当调用对象的createMediaElementSource
方法时AudioContext
,音频元素的输出都会重新路由到返回的MediaElementAudioSourceNode
. 这一切都很好,并且符合规范;但是,当我尝试将输出重新连接到扬声器(使用 的destination
)AudioContext
时,什么也没有发生。
我在这里遗漏了一些明显的东西吗?也许它与跨域音频文件有关?我只是在 Google 上找不到有关该主题的任何信息,也没有在specs中看到它的注释。
小提琴的代码是:
javascript - 更改 AudioContext (getUserMedia) 的采样率
我试图通过 getUserMedia 录制 48000Hz 的录音。但没有运气。返回的音频 MediaStream 返回 44100Hz。如何将其设置为 48000Hz?
以下是我的代码片段:
startUsermedia 函数:
我尝试更改 AudioContext 的属性 sampleRate,但没有运气。
如何将采样率更改为 48000Hz?
编辑:我们现在也可以使用可以以 48000Hz 录制和导出 wav 文件的闪存解决方案
javascript - 如果从代码中删除“console.log()”,函数将停止运行
我在不同的情况下遇到过几次这个问题。
当我有console.log('something')
一个函数时,一切都很完美(至少看起来很完美)。
当我注释掉console.log('something')
它仍然有效但不是每次都有效。
这是某种错误吗?前任:
console.log("text")
因此,如果被删除,这将在一段时间后停止。没有console.log()
线,我看不到找到原因的方法。也许还有另一种方式?
当然我可以让这条线在那里并让它输出一些“!” 或者其他的东西。但是感觉不对。就像用胶带固定轮胎一样:)
如果有帮助:
object
在这种情况下是AudioBufferSourceNode
. 由于某种原因,它不能多次启动,因此如果要播放下一个音轨,必须重新定义它。
我寻找答案,但我失败了。所以这实际上是我第一次在论坛上询问编程。如果我表达不好,请纠正我。谢谢你的时间。
javascript - 有没有办法在浏览器中指定或至少获取录制音频格式?
我正在尝试在浏览器上录制音频,我目前正在使用 Firefox。目标是能够使用在 Emscripten 中编译的模块将音频数据编码为 Opus。我在这里使用代码作为指南https://github.com/F1LT3R/voip-js。
我注意到他正在使用 Speex 库对音频进行重新采样,并且他将音频帧视为浮点数。如何在浏览器本身上设置音频格式?我可以设置音频录制,例如,48000Hz 16 位签名 PCM 数据,可以轻松编码吗?
如果没有,至少有一种方法可以获得格式吗?
firefox - Firefox 37 在尝试为 WebRTC 音频上下文添加麦克风音量控制时抛出错误
由于 firefox 37 我无法向输入(麦克风)添加音量控制,因此出现错误:
IndexSizeError:索引或大小为负数或大于允许的数量
它在 Chrome 上运行良好。
这是代码示例:
错误在这里抛出:
麦克风.连接(增益);
奇怪的是,它每晚都在 Firefox 上工作。
此错误与此 stackoverflow 类似:link
相关链接: StackOverflow 上的链接
javascript - AudioContext 振荡器不会播放超过一次
我知道你不能多次播放振荡器,所以我写了一个函数,每次都会创建一个新的:
但奇怪的是,该功能实际上只会播放一次声音。我不明白为什么会这样。我不是每次调用函数时都创建一个新的振荡器吗?
当我创建一个具有完全相同代码的函数“playFrequency2(f, t0, t1)”时,即使第一个函数播放了声音,它也会播放声音。但是当我第二次调用它时它也不会播放声音。