Android MediaRecorder:如何设置位深度?
Android MediaRecorder: How to set bit depth?
我需要录制音频并使用 Android MediaRecorder 以 amr 格式保存文件。
我得到的文件信息是这样的。
General
Complete name : E:-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 位,我该怎么办?
先谢谢了。
我不确定,但似乎您无法在 MediaRecorder.AudioEncoder.AMR_NB
内更改它,因为
Bit rate = (sampling rate) × (bit depth) × (number of channels)
其中 sampling rate
和 number of channels
是固定的,但 AMR(自适应多速率)表示可变 Bit rate
。所以,我认为您可以看到 "average" 位深度。您可以使用其他编码和媒体格式(例如 PCM-16 位)更改它。
我需要录制音频并使用 Android MediaRecorder 以 amr 格式保存文件。
我得到的文件信息是这样的。
General
Complete name : E:-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 位,我该怎么办?
先谢谢了。
我不确定,但似乎您无法在 MediaRecorder.AudioEncoder.AMR_NB
内更改它,因为
Bit rate = (sampling rate) × (bit depth) × (number of channels)
其中 sampling rate
和 number of channels
是固定的,但 AMR(自适应多速率)表示可变 Bit rate
。所以,我认为您可以看到 "average" 位深度。您可以使用其他编码和媒体格式(例如 PCM-16 位)更改它。