Browse Source

Aufzeichnung von Video und Ton in MainActivity

ToDo: in Fragment aufrufen
ToDo: Gespeichertes Video um 90° gedreht
Aufzeichnung
Maria Nutz 11 months ago
parent
commit
23ac26d0a4
1 changed files with 24 additions and 0 deletions
  1. 24
    0
      app/src/main/java/com/example/greenwatch/MainActivity.java

+ 24
- 0
app/src/main/java/com/example/greenwatch/MainActivity.java View File

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

Loading…
Cancel
Save