2016-11-09 12 views
0

Мне нужно записать аудио и сохранить файл в формате amr, используя Android MediaRecorder.
Информация о файле, что я получаю.Android MediaRecorder: как установить глубину бит?

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 бит, что я должен делать?
Спасибо за первое.

ответ

1

Я не уверен, но, кажется, вы не можете изменить его в MediaRecorder.AudioEncoder.AMR_NB потому

Bit rate = (sampling rate) × (bit depth) × (number of channels)

где sampling rate и number of channels фиксированы, но AMR (Адаптивное скорость) означает переменную Bit rate. Итак, я думаю, вы можете увидеть «среднюю» битовую глубину. Вы можете изменить его, используя другие кодировки и медиаформаты (например, бит PCM-16).