我如何以Media Recorder不支持的格式编码?

问题描述 投票:0回答:1

我正在编写一个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正在由我的软件记录

java android audio wav pcm
1个回答
1
投票

基于您共享的文件(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 AndroidAudio Record Class

注意:普通MediaRecorder在Android中不支持wav录制。

© www.soinside.com 2019 - 2024. All rights reserved.