如何使用Phonegap/Cordova获取实时麦克风级别?

6
我正在寻找一种从麦克风实时读取音量数据的方法,只需一些通用的“响度”。目的是在html5画布元素上让嘴唇随着你对着麦克风说话而移动......

我基本上想要这个插件,但是针对麦克风级别而不是相机:

https://github.com/casoninabox/luminance-cordova-ios

有人知道是否有现成的库可以做到这一点,或者我该如何为iOS创建一个插件?我猜想它可能涉及到AVAudioSession


为什么不自己写呢? :) - Faizan Mubasher
看起来我得这么做了。我只是想确保我不会重复造轮子。 - Jason
1
我在这里找到了一个HTML5的解决方案:https://scottizu.wordpress.com/2014/06/23/real-time-visualization-of-raw-sound-from-microphone-input-using-html5/,但我认为对于iOS上的cordova,您需要在不支持`getUserMedia`的Safari中运行它。 - flup
是的,那并不能解决我从iOS获取实时麦克风数据的主要问题。我认为我需要制作一个插件。有人已经为Android制作了一个插件,但他们没有为iOS做,也许我会fork它并添加iOS支持。无论我做什么,我都会在这里发布给未来的人参考。 - Jason
1
Blankasaurus,进展如何? - Les Buchanan
1
这个有更新了吗? - Obiwahn
1个回答

1

有一个插件,可以以分贝为单位测量音量数据:https://github.com/akofman/cordova-plugin-dbmeter

使用以下命令安装插件:

cordova plugin add cordova-plugin-dbmeter

请确保将这些行添加到您的应用程序config.xml中,因为该插件目前不支持Swift 3。
<preference name="UseLegacySwiftLanguageVersion" value="true" />

使用类似这样的插件:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    DBMeter.start(function(dB){
        console.log(dB);
    });
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接