- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这似乎是一个常见问题 - Javascript Web Audio API AnalyserNode Not Working - 但我不确定我是否在我的实现中找到了边缘案例。
我使用 createMediaElementSource() 创建音频源,但不是使用页面标记中的音频标记,而是使用 Buzz.js 动态创建该元素。
这是我的测试设置:
window.addEventListener('load', function(e) {
audioContext = new webkitAudioContext();
audioAnalyser = audioContext.createAnalyser();
sound = new buzz.sound("sound.mp3");
sound.load().bind("canplaythrough", function(e) {
source = audioContext.createMediaElementSource(this.sound);
source.connect(audioAnalyser);
audioAnalyser.connect(audioContext.destination);
this.play().loop();
});
}, false);
window.setInterval(function(){
array = new Uint8Array(audioAnalyser.frequencyBinCount);
console.log(audioAnalyser.getByteFrequencyData(array));
})
使用上面的代码,声音播放。我还可以附加其他有效的节点(双二阶滤波器、增益等),但 audioAnalyser.getByteFrequencyData 在每一帧上返回未定义的值...
它可能与使用 Buzz.js 有什么关系吗?
最佳答案
这是理解失败...
基本上,我希望控制台记录以下内容的某种输出:
window.setInterval(
array = new Uint8Array(audioAnalyser.frequencyBinCount);
console.log(audioAnalyser.getByteFrequencyData(array));
)
我应该做的是:
window.setInterval(function(){
array = new Uint8Array(audioAnalyser.frequencyBinCount);
audioAnalyser.getByteFrequencyData(array);
console.log(array);
})
有点傻,但我希望能帮助到这里的任何人,他们可能期望 getByteFrequencyData 返回某种值。
关于javascript - HTML 5 音频 - AnalyserNode.getByteFrequencyData() 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20019285/
我有点困惑 getByteFrequencyData() 返回的 Uint8Array 的所有值究竟意味着/代表什么? 我怎样才能理解它们的值(value)?为什么前面定义的值大部分都是 0,后面的值
我在 Web Audio API 的分析器节点上使用 getByteFrequencyData 方法创建了一个 getSpectrum 方法。返回的音频数据数组是相对于音频源(el 或 Audio()
我正在尝试制作一个音频栏可视化工具。 阅读 Web Audio API,我有以下代码: HTML: JavaScript: var audioCtx, myAudio, canv
有关现场演示,请参阅:http://codepen.io/rrorg/pen/WxPjrz?editors=0010 在 Safari 中播放 HTTP 音频直播流时,分析器的 getByteFreq
无论我在哪里查看,这两种方法的文档都非常通用。我想知道我正在查看从每种方法获得的返回数组的具体内容。 对于 getByteTimeDomainData,每次传递涵盖什么时间段?我相信大多数示波器每次通
我正在尝试可视化来自网页元素的音频。该元素的来源是通过 sip.js 连接到 Asterisk 调用的 WebRTC 流。音频按预期工作。 但是,当我尝试使用网络音频 api 获取频率数据时,它返回一
我知道 getByteFrequencyData 返回每个频段的音量(以 dB 为单位)。如何确定 VU 表中显示的信号的总音量(以 dB 为单位)? 大多数时候,我看到的代码只是将每个频段的音量相加
对于Web Audio API中的AnalyserNode,getFloatFrequencyData()返回的数据的频率范围是多少?和 getByteFrequencyData() ?我可以假设 A
我正在尝试使用 analyser.getByteFrequencyData(array) 从分析器节点访问 FFT 数据,但它似乎返回一个空白数组: var array = new Uint8Arra
这似乎是一个常见问题 - Javascript Web Audio API AnalyserNode Not Working - 但我不确定我是否在我的实现中找到了边缘案例。 我使用 createMe
我这里有设置示例 - http://jsbin.com/hotovu/2/ 在桌面 chrome 上一切都很好。 Android Chrome 39 将所有数组返回到 0,0,0, ...(在用于 c
我想在使用网络音频 API 进行一些 FFT 时使用百分比。 为此,我需要知道 analyser.getByteFrequencyData 返回值的范围。 我找不到任何相关信息,也许有人知道? 谢谢
我是一名优秀的程序员,十分优秀!