Browse Source

Miko und Beschleunigung: funktioniert

Mikro_Beschleunigung
Franziska Bausewein 1 year ago
parent
commit
c931f816cd
1 changed files with 34 additions and 28 deletions
  1. 34
    28
      app/src/main/java/com/example/greenwatch/Mikrofon_Beschleunigung.java

+ 34
- 28
app/src/main/java/com/example/greenwatch/Mikrofon_Beschleunigung.java View File

@@ -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 () {

Loading…
Cancel
Save