簡體   English   中英

Android應用程序使用Phonegap / Cordova收聽聲音並錄制音量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM