PhoneGap的Android插件更高质量的audio录制?

PhoneGap media API提供了一种以跨平台方式录制audio的机制 ,可以在android上使用,但是audio质量却是非常糟糕的 – 8 kHz采样率,也许还有一些高度损耗的编解码器。 从这个问题我明白,用java代码可以获得更高质量的audiologging。

任何人都知道Android的PhoneGap插件允许更高质量的录音

  • Javascript的Backbutton事件监听器覆盖了Android设备的后退button
  • 一个简单的Cordova android示例,包括Sqlite读/写和搜索
  • Phonegap Cordova - 全屏后底部的黑色状态栏
  • 通过HTML5在Android上使用二进制字符串保存文件
  • 在Android SDK中找不到gradle wrapper。 可能需要更新您的Android SDK
  • 如何使用JavaScript将值从一个HTML页面传递到另一个HTML页面?
  • 如何使用Android的Phonegap SoftKeyboard插件?
  • 如何在Android谷歌login后初始化Firebase?
  • 你将不得不编写自己的插件。

    这里列出当前的插件: https : //github.com/phonegap/phonegap-plugins/tree/master/Android

    对于IOS,有一个较旧的audiologging。 也许你可以看看那里:

    https://github.com/phonegap/phonegap-plugins/tree/master/iOS/AudioRecord

    创build插件并不是什么大不了的事情。 这里有一些实际logging的代码:

    http://www.androiddevblog.net/android/android-audio-recording-part-2

    http://developer.android.com/reference/android/media/AudioRecord.html

    对于任何感兴趣的人,我们所做的就是放弃对Android 2.3以下版本的支持,并自己修改Cordova本地代码。

    如果你使用的是Cordova 3+,那么我在这里修改代码

    对于以前的版本,只需修改AudioPlayer.java(这是来自Cordova 2.9)

    // support only 2.3.3+ to be able to record AAC with 44100 audio sampling this.recorder.setAudioSamplingRate(44100); this.recorder.setAudioEncodingBitRate(96000); this.recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); this.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); //this.recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);// THREE_GPP); //this.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);// //AMR_NB);