diff --git a/app/build.gradle b/app/build.gradle
index 4d7dcc8..abf54e8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -38,7 +38,7 @@ dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
// Required for CameraX
- def camerax_version = "1.2.2"
+ def camerax_version = "1.2.3"
implementation "androidx.camera:camera-core:${camerax_version}"
implementation "androidx.camera:camera-camera2:${camerax_version}"
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 36b1460..d3ee766 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,7 +3,9 @@
xmlns:tools="http://schemas.android.com/tools">
-
+
+
+
0) {
+ if (requestCode == PERMISSION_REQUEST_CODE && grantResults.length > 0) {
+
boolean cameraRights = grantResults[0] == PackageManager.PERMISSION_GRANTED;
- if (cameraRights) {
- Toast.makeText(this, "camera permission granted", Toast.LENGTH_LONG).show();
+ boolean recordAudioRights = grantResults[1] == PackageManager.PERMISSION_GRANTED;
+
+ if (cameraRights && recordAudioRights) {
+ Toast.makeText(this, "permissions granted", Toast.LENGTH_LONG).show();
} else {
- Toast.makeText(this, "camera permission denied", Toast.LENGTH_LONG).show();
+ Toast.makeText(this, "permissions denied", Toast.LENGTH_LONG).show();
}
}
}
diff --git a/app/src/main/java/com/example/ueberwachungssystem/Recorder.java b/app/src/main/java/com/example/ueberwachungssystem/Recorder.java
new file mode 100644
index 0000000..1524e46
--- /dev/null
+++ b/app/src/main/java/com/example/ueberwachungssystem/Recorder.java
@@ -0,0 +1,82 @@
+package com.example.ueberwachungssystem;
+
+import android.content.Context;
+import android.media.MediaRecorder;
+import android.os.Environment;
+
+import androidx.camera.core.Camera;
+
+import java.io.File;
+import java.io.IOException;
+
+public class Recorder {
+
+ Context context;
+ MediaRecorder mediaRecorder = null;
+
+ public Recorder (Context context) {
+ this.context = context;
+ }
+
+
+ public void startRecording() {
+
+ mediaRecorder = new MediaRecorder();
+
+ mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
+ mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
+ mediaRecorder.setOutputFile(context.getFilesDir() + "/audio.gpp");
+ mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
+
+
+
+ try {
+ mediaRecorder.prepare();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ mediaRecorder.start();
+ }
+
+ public void stopRecording() {
+ if (mediaRecorder != null) {
+ mediaRecorder.stop();
+ mediaRecorder.reset();
+ mediaRecorder.release();
+ mediaRecorder = null;
+ }
+ }
+
+
+
+ private void initMediaRecorder() {
+ // Set the audio and video source
+ mediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
+ mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
+
+ // Set the output format and file path
+ mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
+ //String videoFilePath = getOutputMediaFilePath(); // Custom method to get the output file path
+ mediaRecorder.setOutputFile(context.getFilesDir());
+
+ // Set the video encoder and audio encoder
+ mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
+ mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
+
+ // Configure video size, frame rate, and other settings as needed
+ mediaRecorder.setVideoSize(640, 480); // Set the desired video size
+ mediaRecorder.setVideoFrameRate(30); // Set the desired frame rate
+ }
+
+
+ private String getOutputMediaFilePath() {
+ String videoFileName = "Video.mp4";
+ File storageDir = context.getFilesDir();
+
+ if (!storageDir.exists()) {
+ storageDir.mkdirs();
+ }
+
+ return storageDir.getAbsolutePath() + "/" + videoFileName;
+ }
+}