javascript - 网络音频的分贝值

标签 javascript audio cordova-plugins web-audio-api decibel

我正在使用cordova-plugin-audioinput我正在开发的 JavaScript 应用程序的插件。我正在尝试使用以下代码实时获取不同频率下的不同分贝值:

function startCapture() {
    audioinput.start({
        audioSourceType: 9,
        sampleRate: 44100,
        streamToWebAudio: true
    });

    audioCtx = audioinput.getAudioContext();
    analyser = audioCtx.createAnalyser();
    analyser.fftSize = 8192;
    analyser.maxDecibels = 0;
    audioinput.connect(analyser)

    bufferLength = analyser.frequencyBinCount;
    dataArray = new Uint8Array(bufferLength);
}

使用analysisr.getByteFrequencyData(dataArray);将数据保存到dataArray中;

即使我将 maxDecibels 指定为 0dataArray 也会填充正值,这对我来说没有任何意义。我需要最终结果以分贝为单位,即使推送到 dataArray 中的值实时响应音量,它们也不是以分贝为单位。

最佳答案

getByteFrequencyData() 返回的值始终在 0 到 255 之间。这些值从 minDecibels 线性映射到 maxDecibels。请参阅getByteFrequencyData .

关于javascript - 网络音频的分贝值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51293899/

相关文章:

javascript - 将 JS IIFE 库导出到 React 组件

c++ - 如何在 Windows 中以编程方式强制重启/重新加载播放设备?

android - Cordova 相机插件、saveToPhotoAlbum 选项在 Android 5.0.1 中不起作用

javascript - 从 Selenium Webdriver 中的 JQuery 脚本返回值

javascript - Typescript/Javascript 中的复合 Promise?

javascript - 查询 |通过菜单栏点击两次隐藏 Div 标签

javascript - TypeError JavaScript 音频文件

c++ - Symbian Audio路径问题

android - 如何在 ionic 框架中获取用户数据(公共(public)资料和电子邮件)

xcode - Cordova :意外的机器代码-您的上传内容同时包含位代码和 native 代码