123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package com.example.greenwatch.alarmrecorder.runnables;
-
- import android.media.MediaRecorder;
- import android.view.SurfaceHolder;
-
- import com.example.greenwatch.viewmodels.ViewModelInterface;
-
- import java.io.IOException;
-
- public class VideoRecorder implements Runnable{
- private MediaRecorder videoRecorder;
- private String videoPath;
- private SurfaceHolder previewHolder;
-
- public VideoRecorder() {
- videoRecorder = new MediaRecorder();
- }
-
- public void setPreviewHolder(SurfaceHolder previewHolder) {
- this.previewHolder = previewHolder;
- }
-
- public void setVideoPath(String audioPath) {
- this.videoPath = audioPath;
- }
-
- public void stopVideoRecording(){
- if (videoRecorder != null) {
- videoRecorder.stop();
- videoRecorder.reset();
- videoRecorder.release();
- videoRecorder = null;
- }
- }
-
- @Override
- public void run() {
- videoRecorder = new MediaRecorder();
- videoRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
- videoRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
- videoRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
- videoRecorder.setOutputFile(videoPath);
- videoRecorder.setOrientationHint(90);
- videoRecorder.setPreviewDisplay(previewHolder.getSurface());
-
- try {
- videoRecorder.prepare();
- videoRecorder.start();
-
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
|