我正在编写一个Android应用程序,它将成为需要在特定设置下记录.wav文件的语音记录器应用程序。它需要匹配以下信息:
File Type: Windows PCM
File extension: .wav
22050 Hz, 16-bit, Stereo
以上文件信息来自this file。这是我们的服务器将播放的标准Windows文件。如果文件与这些设置不匹配,我们的服务器将不会解释该文件。我已经尝试过像这样录制,但无法正常工作:
mRecorder = new MediaRecorder();
SharedPreferences prefs = getSharedPreferences("MyPreference", MODE_PRIVATE);
int curValue = prefs.getInt("recordCount", 0); // Getting current value of sharedPref
String fileNameWNum = "Recording" + curValue + ".wav";
...
mRecorder.setOutputFile(fileName);
mRecorder.setAudioEncoder(ENCODING_PCM_16BIT);
mRecorder.setAudioSamplingRate(22050);
此方法正在创建.wav文件,但未对其进行编码。谁能建议我如何编码信息?
编辑:This is the file正在由我的软件记录
基于您共享的文件(Recording 8.wav)。
文件的属性。
持续时间:00:00:38.08,开始:0.000000,比特率:15 kb / s流#0:0(eng):音频:amr_wb(sawb / 0x62776173),16000 Hz,单声道,flt,13kb / s(默认)
请检查此参考代码的Wav recording on Android和Audio Record Class
注意:普通MediaRecorder在Android中不支持wav录制。