小编Chr*_*hin的帖子

Chromecast支持哪些内容?

我想知道Chromecast支持哪些网络技术.我知道有没有提到的完整列表在这里,但我居然喜欢和支持列表,高性能的特点.

它与正常的Web开发有何不同?

是否有硬件加速,WebGL或Web Audio支持?这些表现如何?

老式的Web开发人员想要知道的任何事情?有什么奇怪的怪癖吗?

chromecast

13
推荐指数
2
解决办法
4966
查看次数

按体积标准化来自getByteFrequencyData的音频数据

我已经在Web Audio API的Analyzer节点上getSpectrum使用该getByteFrequencyData方法创建了一个方法.返回的音频数据数组相对于音频源(el或Audio()实例)volume,值为0到1.

使用音频源的音量我试图规范化从getByteFrequencyData接收的每个值,以便getSpectrum的用户在可视化音频数据时不必担心音量.

这是getSpectrum的条纹版本

var audioData = new Uint8Array(analyser.binCount);
var spectrum = [];

analyser.getByteFrequencyData(audioData);

for (var i = 0; i < audioData.length; i++) {
  var value = audioData[i];

  //Where I'm trying to calculate the value independent of volume
  value = ((value / audioEl.volume) / 255);

  spectrum.push(value);
}

return spectrum;
Run Code Online (Sandbox Code Playgroud)

W3C规范引用用于计算给定maxDecibels和minDecibels返回值的公式.基于我的基本理解,我试图反转数学,所以我得到一个标准化值,但我不能让它正常工作.只是从0到1的音量值我无法完成此操作.

任何煽动都将不胜感激!这是该问题的一个实例.更改音量滑块将说明问题.

更新7/22/16:感谢@ raymond-toy的回答,我想出了如何将0到1的音量值转换为分贝.

volumeDB = Math.abs((Math.log(volume)/Math.LN10)*20);
Run Code Online (Sandbox Code Playgroud)

获得数据库后,我在W3C规范中反转了等式,

value = ((audioDataValue * volumeDB) / 255) - volumeDB
Run Code Online (Sandbox Code Playgroud)

不幸的是,value …

javascript web-audio-api

6
推荐指数
1
解决办法
1047
查看次数

标签 统计

chromecast ×1

javascript ×1

web-audio-api ×1