From 23ac26d0a490b01b0fcfc9f403e6bc1b11e819b7 Mon Sep 17 00:00:00 2001 From: nutzma75019 Date: Sat, 17 Jun 2023 12:15:39 +0200 Subject: [PATCH] =?UTF-8?q?Aufzeichnung=20von=20Video=20und=20Ton=20in=20M?= =?UTF-8?q?ainActivity=20ToDo:=20in=20Fragment=20aufrufen=20ToDo:=20Gespei?= =?UTF-8?q?chertes=20Video=20um=2090=C2=B0=20gedreht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/greenwatch/MainActivity.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/app/src/main/java/com/example/greenwatch/MainActivity.java b/app/src/main/java/com/example/greenwatch/MainActivity.java index 1281c54..eb69941 100644 --- a/app/src/main/java/com/example/greenwatch/MainActivity.java +++ b/app/src/main/java/com/example/greenwatch/MainActivity.java @@ -65,6 +65,8 @@ public class MainActivity extends AppCompatActivity { ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO}, REQUEST_PERMISSION); + + } else { alarm_on = true; onAlarmStateChanged(); @@ -77,6 +79,26 @@ public class MainActivity extends AppCompatActivity { }); } + @Override + public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (requestCode == REQUEST_PERMISSION) { + boolean allPermissionsGranted = true; + for (int grantResult : grantResults) { + if (grantResult != PackageManager.PERMISSION_GRANTED) { + allPermissionsGranted = false; + break; + } + } + if (allPermissionsGranted) { + startRecording(); // Starte die Aufnahme, da alle Berechtigungen erteilt wurden + } else { + Toast.makeText(this, "Berechtigung verweigert.", Toast.LENGTH_SHORT).show(); + } + } + } + + public void onAlarmStateChanged() { runOnUiThread(new Runnable() { @Override @@ -232,11 +254,13 @@ public class MainActivity extends AppCompatActivity { }); waitTillThreadsStopped(); + boolean test = videoThread.isAlive(); File videoFile = new File(videoPath); //Speichere das aufgenommene Video File audioFile = new File(audioPath); //Speichere die aufgenommene Audio if (videoFile.exists() && audioFile.exists()) { //Wenn Video- und Audioaufzeichnung gestoppt und abgespeichert sind, beginne mit dem Mergeprozess der beiden + Toast.makeText(MainActivity.this, String.valueOf(test) , Toast.LENGTH_SHORT).show(); mergeVideoWithAudio(); } else { Toast.makeText(MainActivity.this, "Dateien wurden nicht gefunden!", Toast.LENGTH_SHORT).show();