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