2014-04-24 2 views
1

녹음하기 전에 Camera의 잠금을 해제하는 방법은 MediaRecorder을 사용하여 녹음 하시겠습니까? docs은 다음과 같이 말합니다.Android MediaRecorder Unlock API14 +

Android 프레임 워크를 사용하여 비디오를 캡처하려면 Camera 개체를주의 깊게 관리하고 MediaRecorder 클래스와의 조정이 필요합니다. Camera로 비디오를 녹화하는 경우 Camera.open() 및 Camera.release() 호출 외에도 CameraRockorder가 카메라 하드웨어에 액세스 할 수 있도록 Camera.lock() 및 Camera.unlock() 호출을 관리해야합니다.

참고 : Android 4.0 (API 레벨 14)부터 Camera.lock() 및 Camera.unlock() 호출이 자동으로 관리됩니다. 나는 예외 (start failed)을 얻을 MediaRecorder.start 전에 Camera.unlock를 호출하지 않는 경우

그러나, 아무리 내가,에 테스트하지 어떤 장치.

문서가 거짓말입니까, 아니면 잘못된 것이 있습니까?

내 흐름은 (Camera.open(int)을 사용하여) 카메라를 열고 녹화 힌트를 true로 설정하고 미리보기 FPS 및 크기를 설정하고 방향을 표시하는 것입니다. 그런 다음 MediaRecorder을 만들고 오디오 및 비디오 원본, 출력 형식, 프레임 속도, 크기, 비디오 비트 전송률, 오디오 및 비디오 인코더, 방향 힌트, 출력 파일을 설정 한 다음 MediaRecorder.prepare을 호출합니다.

성공적으로 완료되면 사용자가 "녹음"버튼을 클릭하면 MediaRecorder.start()이 호출되고 예외가 발생합니다. 대신 다음 번호로 전화하면 :

Camera.unlock(); 
MediaRecorder.start(); 

예외는 아닙니다.

답변

0

나는이 오류가 방대한 양의 경우에 발생할 수 있다고 말하는 MediaRecorder에 대한 충분한 경험이 있습니다. 잠금 장치에 문제가/방법의 잠금을 해제하는 경우 그런데 오류가

잠금 해제 잘못 기록 초기화에 의해 가장 (시작 실패)의 경우 오류 원인에

실패 할 것이다. init 메소드 pls를 작성하십시오.

+0

전체 init 메소드를 작성하고 싶지 않습니다. 그러나 문제는'unlock'이 없으면 예외가 발생한다는 것입니다. 그것이있을 때 (그리고 다른 것은 변경되지 않았습니다) 작동합니다. – Eliezer

+0

Mb 그것은 바보이지만 카메라는 당신의 앱에서 다른 프로세스의 어떤 종류에 의해 사용됩니까? 그게 무슨 뜻입니까? 당신은 카메라의 잠금을 해제하고 무료로 사용할 수 있습니다 - 당신의 레코더를 사용할 수 있습니다)) – Slampy

+0

카메라를 사용하고있는 다른 것이 있으면 안됩니다. – Eliezer