我一直在学习 Cordova,现在我正在开发一个应用程序来录制语音,我想获得正在录制的声音的音量/分贝/振幅。 我知道 Cordova 没有关于此的官方插件,所以我搜索并测试了一些插件:
Wavesurfer.js:
它很简单并且有很多功能,但是在android中不工作,我不知道问题是webview还是什么(我有Android 4.1.2) 以下是我对这个插件的问题的详细信息: https://github.com/katspaugh/wavesurfer.js/issues/341
麦克风音量.js:
https://github.com/shukriadams/micVolume 我尝试了这个但没有成功,我不知道到底是什么问题,但我认为在这种情况下它在 cordova.exec 中
我找不到更多的插件。还有其他我可以做或使用的东西吗,或者我做错了什么?我觉得我找不到简单的这种插件很奇怪,所以也许它是从头开始学习 java 的解决方案? >:(
提前致谢。
最佳答案
您应该使用 Crosswalk,这样您就可以在没有 Cordova 插件的情况下访问 Web Audio API。从那里你可以使用类似这个例子的东西:
http://tyleregeto.com/article/extracting-audio-data-with-the-web-audio-api
从当前的 Crosswalk 版本开始,Web Audio API 得到了完全支持,并且由于您使用的是 Cordova,因此您无需担心任何跨源问题(例如,您将位于“本地主机”上,因此不会出现不会有任何 HTTPS 问题)。
我用 Angular 构建了一个节拍器,我在最近的一个带 Crosswalk 的 Ionic 应用程序中使用了它,它工作得很好(即使在我用于测试的非常糟糕的 XGODY 设备上)。请参阅下面的要点:
关于android - 使用 Cordova 在 Android 中记录并获取音量以生成波形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28313467/