android获取音量分贝值
android获取音量分贝值
AudioRecordDemo.java
package com.example.recording;import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;
import android.util.Log;public class AudioRecordDemo {private static final String TAG = "AudioRecord"; static final int SAMPLE_RATE_IN_HZ = 8000; static final int BUFFER_SIZE = AudioRecord.getMinBufferSize(SAMPLE_RATE_IN_HZ, AudioFormat.CHANNEL_IN_DEFAULT, AudioFormat.ENCODING_PCM_16BIT); AudioRecord mAudioRecord; boolean isGetVoiceRun; Object mLock; public AudioRecordDemo() { mLock = new Object(); } public void getNoiseLevel() { if (isGetVoiceRun) { Log.e(TAG, "还在录着呢"); return; } mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, SAMPLE_RATE_IN_HZ, AudioFormat.CHANNEL_IN_DEFAULT, AudioFormat.ENCODING_PCM_16BIT, BUFFER_SIZE); if (mAudioRecord == null) { Log.e("sound", "mAudioRecord初始化失败"); } isGetVoiceRun = true; new Thread(new Runnable() { @Override public void run() { mAudioRecord.startRecording(); short[] buffer = new short[BUFFER_SIZE];
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
