// 녹화 시작
recordBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
if (recorder == null) {
recorder = new MediaRecorder();
}
//recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
//recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
//recorder.setOrientationHint(90); // 영상 회전 값 조정.
filename = createFilename();
Log.d(TAG, "current filename : " + filename);
recorder.setOutputFile(filename);
recorder.setPreviewDisplay(holder.getSurface());
recorder.prepare();
recorder.start();
} catch (Exception ex) {
Log.e(TAG, "Exception : ", ex);
recorder.release();
recorder = null;
}
}
});
// 녹화 중지
recordStopBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (recorder == null)
return;
recorder.stop();
recorder.reset();
recorder.release();
recorder = null;
ContentValues values = new ContentValues(10);
values.put(MediaStore.MediaColumns.TITLE, "RecordedVideo");
// values.put(MediaStore.Audio.Media.ALBUM, "Video Album");
// values.put(MediaStore.Audio.Media.ARTIST, "Mike");
// values.put(MediaStore.Audio.Media.DISPLAY_NAME, "Recorded Video");
values.put(MediaStore.MediaColumns.DATE_ADDED, System.currentTimeMillis() / 1000);
values.put(MediaStore.MediaColumns.MIME_TYPE, "video/mp4");
// values.put(MediaStore.Audio.Media.DATA, filename);
Uri videoUri = getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values);
if (videoUri == null) {
Log.d("SampleVideoRecorder", "Video insert failed.");
return;
}
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, videoUri));
}
});
// 영상 재생.
playBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (player == null) {
player = new MediaPlayer();
}
try {
player.setDataSource(filename);
player.setDisplay(holder);
player.prepare();
player.start();
} catch (Exception e) {
Log.e(TAG, "Video play failed.", e);
}
}
});
// 영상 재생 종료.
playStopBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (player == null)
return;
player.stop();
player.release();
player = null;
}
});
checkDangerousPermissions();
}
촬영시 영상은 휴대폰의 카메라를 이용해서 그런지 굉장히 선명하지만
녹화된 영상을 재생하게 되었을때 화질이 정말 못 봐줄 정도입니다.
어느 부분을 수정해야되는지 알 수 있을까요??