PhoneGap Android插件,用于更高质量的音频录制



PhoneGap媒体API提供了一种可以在android上跨平台录制音频的机制,但是音频质量非常糟糕——8 kHz采样率,可能还有一些高度有损的编解码器。我从这个问题中了解到,使用java代码可以获得更高质量的音频录制。

有谁知道Android的PhoneGap插件允许更高质量的音频录制?

对于任何感兴趣的人来说,我们所做的是放弃对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);

不幸的是你必须自己编写插件。

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

对于IOS,有一个较旧的音频记录。也许你可以在那里看看:

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

创建一个插件并不是什么大事。下面是实际记录的一些代码:

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

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

最新更新