如何在Android中将16位PCM数据转换为电压值
我试图计算安卓系统中麦克风发出的声音的分贝值。 我使用音频录制类从麦克风获取16位PCM数据如何在Android中将16位PCM数据转换为电压值,android,android-audiorecord,android-hardware,Android,Android Audiorecord,Android Hardware,我试图计算安卓系统中麦克风发出的声音的分贝值。 我使用音频录制类从麦克风获取16位PCM数据 //init a recorder instance recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,ECORDER_SAMPLERATE, RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING, bufferSize);
//init a recorder instance
recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,ECORDER_SAMPLERATE, RECORDER_CHANNELS,RECORDER_AUDIO_ENCODING, bufferSize);
recorder.startRecording();
// and then read 16 bit PCM data
recorder.read(data, 0, bufferSize);
此数据的值范围为-32768到32767(符号为2^16)
我相信这些是量化值。但我想知道相应的电压值是多少。麦克风的电压值范围是多少
在android中?所有智能手机都差不多吗
例如:假设麦克风输出为0到+5 V,那么32767对应于+5 V DC。在搜索网络后,我发现振幅值取决于设备中使用的ADC,而不是麦克风本身。