[英]Android app to listen for sound and record volume, using Phonegap/Cordova
我正在嘗試編寫一個可通過電話/平板電腦的麥克風收聽聲音的應用程序。 我認為捕獲聲音不是很困難,我在這里找到了一些代碼。
我想知道如何關聯音量級別? 理想情況下,我想將聲級轉換為分貝,但是任何任意比例都可以。
最后,我只是使用Java SDK來完成此操作,然后在將應用程序轉換為iOS時,將其重寫為Objective-C。
在Android上,您可以導入以下庫:
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;
然后像這樣撥打一些電話,以查看錄音的幅度:
int minSize = AudioRecord.getMinBufferSize(8000,AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
AudioRecord ar = new AudioRecord(MediaRecorder.AudioSource.MIC, 8000,AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT,minSize);
short[] buffer = new short[minSize];
ar.startRecording();
while(1){
ar.read(buffer, 0, val*minSize);
average_buffer = 0;
for (int i = 0; i < minSize; i++){
average_buffer += (int) Math.sqrt((float)buffer[i]*buffer[i]);
}
Log.i("NOISE LEVEL", Integer.toString(average_buffer);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.