getMaxAmpitude를 얻은 다음 데시벨로 변환하는 애플리케이션을 만들었지 만 30dB의 범위 만 얻습니다.안드로이드의 데시벨
Android 휴대 전화는 30dB 범위 밖에 없습니까, 아니면 내 코드에서 문제가됩니까?
public class getMaxAmpitude extends AsyncTask<Void, Float, Void>{
String dB = "";
int ampitude;
float db;
@Override
public Void doInBackground(Void... params) {
while(rec == true){
try{
Thread.sleep(250);
}catch(InterruptedException e){
e.printStackTrace();
}
ampitude = recorder.getMaxAmplitude();
db =(float) (20 * Math.log10(ampitude/700.0));
publishProgress(db);
}
return null;
}
public void onProgressUpdate(Float... progress){
//database.addSoundData(dB);
dB = (progress[0].toString());
'db = (float) (20 * Math.log10 (ampitude/700.0));를 사용하면 어떤 생각을하게 될까요? – marko
시작 값 0을 얻을 수 있도록 기준 진폭으로 놀고있었습니다.하지만 내 질문에 답하지 않습니다. –