MediaPlayer player;
MediaRecorder recorder;
// 카메라 상태를 저장하고 있는 객체
Camera camera;
// CameraInfo cameraInfo = new CameraInfo();
SurfaceView surfaceView;
SurfaceHolder holder = null;
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(D) Log.e(TAG, "+++ ON CREATE +++");
// Set up the window layout
setContentView(R.layout.main);
// Get local Bluetooth adapter
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
// this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
// 외장메모리가 있는지 확인한다.
// Environment.getExternalStorageState() 를 통해서 현재 외장메모리를 상태를 알수있다.
String state = Environment.getExternalStorageState();
// Environment.MEDIA_MOUNTED 외장메모리가 마운트 flog
if (!state.equals(Environment.MEDIA_MOUNTED)) {
Toast.makeText(getApplicationContext(), "외장 메모리가 마운트 되지않았습니다.", Toast.LENGTH_LONG).show();
} else {
EXTERNAL_STORAGE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath();
}
// SurfaceView 클래스 객체를 이용해서 카메라에 받은것을 녹화하고 재생하는데 쓰일것이다.
surfaceView = (SurfaceView)findViewById(R.id.surface);
// SurfaceView 클래스를 컨트롤하기위한 SurfaceHolder 생성
holder = surfaceView.getHolder();
// 버퍼없음
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
// If the adapter is null, then Bluetooth is not supported
if (mBluetoothAdapter == null) {
Toast.makeText(this, "Bluetooth is not available", Toast.LENGTH_LONG).show();
finish();
return;
}
findViewById(R.id.secure_connect_scan).setOnClickListener(clickListener);
findViewById(R.id.secure_connect_cancel).setOnClickListener(clickListener);
findViewById(R.id.recoder).setOnClickListener(clickListener);
}
public void RecodeStart(){
//Set preview with a 90° ortientation
//camera.setDisplayOrientation(90);
//camera.unlock();
try{
if (recorder == null) {
recorder = new MediaRecorder();
// recorder.setOrientationHint(90);
}
// 오디오와영상 입력 형식 설정
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);
// 저장될 파일 지정
filename = createFilename();
recorder.setOutputFile(filename);
// 녹화도중에 녹화화면을 뷰에다가 출력하게 해주는 설정
recorder.setOrientationHint(90);
//recorder.setPreviewDisplay((Surface) holder);
recorder.setPreviewDisplay(holder.getSurface());
//recorder.setOrientationHint(90);
// 녹화 준비,시작
recorder.prepare();
recorder.start();
}catch(Exception ex){
ex.printStackTrace();
recorder.release();
recorder = null;
}
}
recorder.setPreviewDisplay(holder.getSurface());
이부분에서 미리보기가 90도 회전되어 나와서 90 돌릴려고 recorder.setDispalyOrientation(90);하면 왜 빨간줄이 나올까요? 어떤식으로 써야되는건지 알려주세요 ㅜㅜ