diff --git a/app/src/main/java/com/example/greenwatch/Mikrofon_Beschleunigung.java b/app/src/main/java/com/example/greenwatch/Mikrofon_Beschleunigung.java index 4613f52..14d7c92 100644 --- a/app/src/main/java/com/example/greenwatch/Mikrofon_Beschleunigung.java +++ b/app/src/main/java/com/example/greenwatch/Mikrofon_Beschleunigung.java @@ -75,7 +75,7 @@ public class Mikrofon_Beschleunigung extends AppCompatActivity implements Sensor } kalibrieren = 0; start_messen = false; - kalibrierung_do = true; + // kalibrierung_do = true; } public static String getTimestamp(){ @@ -220,6 +220,8 @@ public class Mikrofon_Beschleunigung extends AppCompatActivity implements Sensor } + + @Override protected Void doInBackground(Long... params) { @@ -236,7 +238,31 @@ public class Mikrofon_Beschleunigung extends AppCompatActivity implements Sensor boolean erlaubt_rise = true; boolean erlaubt_fall = true; + if(kalibrierung_do){ + // Warten für 3 Sekunden + /*long startTime = System.currentTimeMillis(); // Startzeit + while (System.currentTimeMillis() - startTime < 3000) { + //Warten + }*/ + //3s warten auf weitere Ausführung + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + int anzahlIterationen = 100; + float sum = 0; + for(int i = 0; i < anzahlIterationen; i++){ + int z = recorder.read(puffer, 0, puffer.length); + Verarbeitungsergebnis kalibrierung = verarbeiten(puffer, z); + sum += (float) kalibrierung.db; + System.out.println("Aktueller_Wert Kalibrierung" +kalibrierung.db); + } + System.out.println("Summe:"+sum); + threshold = sum/anzahlIterationen; + kalibrierung_do = false; + } for (; ; ) { if (isCancelled()) { @@ -246,30 +272,6 @@ public class Mikrofon_Beschleunigung extends AppCompatActivity implements Sensor Verarbeitungsergebnis ergebnis = verarbeiten(puffer, n); anzahlVerarbeitet += n; - //kalibrierung - if(kalibrierung_do){ - // Warten für 3 Sekunden - /*long startTime = System.currentTimeMillis(); // Startzeit - while (System.currentTimeMillis() - startTime < 3000) { - //Warten - }*/ - //3s warten auf weitere Ausführung - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - //int z = recorder.read(puffer, 0, puffer.length); - //Verarbeitungsergebnis kalibrierung = verarbeiten(puffer, z); - int anzahlIterationen = 3000; - float sum = 0; - for(int i = 0; i < anzahlIterationen; i++){ - sum += ergebnis.db; - } - threshold = sum/anzahlIterationen; - kalibrierung_do = false; - } - zaehlerZeitMessung++; if (zaehlerZeitMessung == maxZaehlerZeitMessung) { @@ -324,6 +326,7 @@ public class Mikrofon_Beschleunigung extends AppCompatActivity implements Sensor String status; short maxAmp = -1; int db = 0; + int db_wert = 0; if (n == AudioRecord.ERROR_INVALID_OPERATION) { status = "ERROR_INVALID_OPERATION"; @@ -341,7 +344,10 @@ public class Mikrofon_Beschleunigung extends AppCompatActivity implements Sensor maxAmp = ringPuffer.maximum(); } //Umwandlung Amplitudenwert in dB - db = (int) (20*Math.log10(maxAmp)); + db_wert = (int) (20*Math.log10(maxAmp)); + if (db_wert > 0){ + db = db_wert; + } return new Verarbeitungsergebnis(status, maxAmp,0, db); } @@ -468,7 +474,7 @@ public class Mikrofon_Beschleunigung extends AppCompatActivity implements Sensor Daten = "Wir haben uns beim Sensor angemeldet"; } else { Daten = "Das anmelden hat nicht geklappt"; - } + }} SharedPreferences p = getPreferences(Context.MODE_PRIVATE); threshold = p.getFloat(KEY_WERT, 40); kalibrierung_do = p.getBoolean(KEY_KALIBRIERUNG, true); @@ -480,7 +486,7 @@ public class Mikrofon_Beschleunigung extends AppCompatActivity implements Sensor aufnahmeTask = new AufnahmeTask(); aufnahmeTask.execute(); } - }} + } @Override protected void onPause () {