|
|
|
|
|
|
|
|
setVideoPath(videoPath); |
|
|
setVideoPath(videoPath); |
|
|
setVideoRecorderPreviewHolder(previewHolder); |
|
|
setVideoRecorderPreviewHolder(previewHolder); |
|
|
|
|
|
|
|
|
audioThread = new Thread(audioRecorderRunnable); |
|
|
|
|
|
|
|
|
//audioThread = new Thread(audioRecorderRunnable); |
|
|
videoThread = new Thread(videoRecorderRunnable); |
|
|
videoThread = new Thread(videoRecorderRunnable); |
|
|
|
|
|
|
|
|
//Threads starten |
|
|
//Threads starten |
|
|
videoThread.start(); |
|
|
videoThread.start(); |
|
|
audioThread.start(); |
|
|
|
|
|
|
|
|
//audioThread.start(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public void stopRecording(Context context) { |
|
|
public void stopRecording(Context context) { |
|
|
try { |
|
|
try { |
|
|
stopAudioRecording(); |
|
|
|
|
|
|
|
|
//stopAudioRecording(); |
|
|
stopVideoRecording(); |
|
|
stopVideoRecording(); |
|
|
|
|
|
|
|
|
Toast.makeText(context, "Video- und Audioaufzeichnung beendet", Toast.LENGTH_SHORT).show(); |
|
|
Toast.makeText(context, "Video- und Audioaufzeichnung beendet", Toast.LENGTH_SHORT).show(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (videoFile.exists() && audioFile.exists()) { |
|
|
if (videoFile.exists() && audioFile.exists()) { |
|
|
//Wenn Video- und Audioaufzeichnung gestoppt und abgespeichert sind, beginne mit dem Mergeprozess der beiden |
|
|
//Wenn Video- und Audioaufzeichnung gestoppt und abgespeichert sind, beginne mit dem Mergeprozess der beiden |
|
|
mergeVideoWithAudio(); |
|
|
|
|
|
|
|
|
// mergeVideoWithAudio(); |
|
|
Toast.makeText(context, "Video und Audio erfolgreich zusammengeführt", Toast.LENGTH_SHORT).show(); |
|
|
Toast.makeText(context, "Video und Audio erfolgreich zusammengeführt", Toast.LENGTH_SHORT).show(); |
|
|
} else { |
|
|
} else { |
|
|
Toast.makeText(context, "Dateien wurden nicht gefunden!", Toast.LENGTH_SHORT).show(); |
|
|
Toast.makeText(context, "Dateien wurden nicht gefunden!", Toast.LENGTH_SHORT).show(); |