PhoneGap Android 插件可实现更高质量的录音?

发布于 2024-12-03 20:10:52 字数 382 浏览 0 评论 0原文

PhoneGap 媒体 API 提供一种以交叉方式录制音频的机制平台方式适用于 Android,但音频质量非常糟糕——8 kHz 采样率,也许还有一些高损耗编解码器。我从这个问题中了解到,使用java代码可以获得更高质量的音频录制。

有人知道 Android 上的 PhoneGap 插件可以实现更高质量的录音吗?

The PhoneGap media API provides a mechanism to record audio in a cross-platform way which works on android, but the audio quality is completely horrible -- 8 kHz sampling rate and perhaps some highly lossy codec as well. I understand from this SO question that with java code it's possible to get higher quality audio recording.

Anybody know of a PhoneGap plugin for Android that allows for higher quality audio recording?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦途 2024-12-10 20:10:52

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

For anyone interested, what we did was dropping support for anything less than Android 2.3 and modify the Cordova native code ourselves.

If you are using Cordova 3+, I forked the project with the code changes here

For previous releases, just modify AudioPlayer.java (this is from 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);
余厌 2024-12-10 20:10:52

不幸的是,您将不得不编写自己的插件。

这里是当前插件的列表: 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

You will have to write your own plugin unfortunately.

Here a list of current plugins: https://github.com/phonegap/phonegap-plugins/tree/master/Android

For IOS there is an older audio record one. Maybe you can have a look there:

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

Creating a plugin is not such a big deal though. Here some code for the actual recording:

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文