마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

MediaRecorder를 이용한 onPreviewFrame 호출

0 추천

surfaceChanged에서 onPreviewFrame()를 이용하여 현재 카메라 데이터를 가지고 옵니다.(여기서 서버에게 계속해서 카메라 데이터를 줍니다.)사실 녹화와 실시간 카메라 데이터를 동시에 보내는 기능을 할라고하는데요. 

그래서 녹화를 하기위해서 안드로이드 제공하는 MediaRecorder()를 사용하여 녹화 기능이 하였습니다. 하지만 녹화는 되지만 surfaceChanged가 실행이 되지 않아서 녹화는 되는 순간(surfaceChanged가 호출을 안합니다.)서버와 소켓이 끊어집니다.

녹화를 다른 방향으로 할까요? 제가 설정을 잘못했나요?

-소스

   private boolean prepareVideoRecorder() {                                    //녹화 기능

        //CameraManager.releaseCamera(mCamera);

        //mCamera = CameraManager.getCameraInstance(mCamera);
        //mMediaRecorder.reset();
        mMediaRecorder = new MediaRecorder();

        //mCamera.unlock();
        mMediaRecorder.setCamera(mCamera);

        mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
        mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

        mMediaRecorder.setProfile(CamcorderProfile
                .get(CamcorderProfile.QUALITY_720P));

        mMediaRecorder.setOutputFile(FileManager.getOutputMediaFile()
                .toString());

        mMediaRecorder.setPreviewDisplay(mPreview.getHolder().getSurface());

        try {
            mMediaRecorder.prepare();
            mMediaRecorder.start();
        } catch (IllegalStateException e) {
            MediaManager.releaseMediaRecorder(mMediaRecorder, mCamera);
            return false;
        } catch (IOException e) {
            MediaManager.releaseMediaRecorder(mMediaRecorder, mCamera);
            return false;
        }
        return true;
    }

 

 

 

 

인생쑤다 (330 포인트) 님이 2015년 9월 14일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...