我需要录制音频并使用Android MediaRecorder以amr格式保存文件 我得到的文件信息。
General
Complete name : E:\11-09-05-40-29.amr
Format : AMR
Format/Info : Adaptive Multi-Rate
File size : 2.69 KiB
Duration : 1s 720ms
Overall bit rate : 12.8 Kbps
Audio
Format : AMR
Format/Info : Adaptive Multi-Rate
Format profile : Narrow band
Duration : 1s 720ms
Bit rate mode : Constant
Bit rate : 12.8 Kbps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Bit depth : 13 bits
Stream size : 2.69 KiB (100%)
这是我的代码
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setAudioEncodingBitRate(16);
mMediaRecorder.setAudioChannels(1);
mMediaRecorder.setAudioSamplingRate(8000);
但我需要将比特深度更改为16位,我该怎么办? 先谢谢。
答案 0 :(得分:1)
我不确定,但似乎你无法在MediaRecorder.AudioEncoder.AMR_NB
内更改它,因为
Bit rate = (sampling rate) × (bit depth) × (number of channels)
其中sampling rate
和number of channels
是固定的,但AMR(自适应多速率)表示变量Bit rate
。所以,我认为你可以看到“平均”位深度。您可以使用其他编码和媒体格式(例如PCM-16位)更改它。