PhoneGap Android插件可以提供更高质量的录音?

时间:2011-09-09 05:13:50

标签: android audio plugins cordova audio-recording

PhoneGap媒体API以跨平台的方式提供a mechanism to record audio,适用于Android,但音频质量非常糟糕 - 8 kHz采样率,也许还有一些高损耗的编解码器。我从this SO question了解到,使用java代码可以获得更高质量的录音。

有人知道Android的PhoneGap插件可以提供更高质量的录音吗?

2 个答案:

答案 0 :(得分:8)

对于任何感兴趣的人,我们所做的是放弃对Android 2.3以外的任何支持,并自行修改Cordova本机代码。

如果您使用的是Cordova 3+,我会使用代码更改来分叉项目here

对于以前的版本,只需修改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);

答案 1 :(得分:2)

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

此处列出了当前插件: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