2012-12-19 6 views
1

다시 말하면 설명 할 방법을 모르는 질문입니다.사용 가능한 크기가 다른 이유는 무엇입니까

나는 비디오 레코더 응용 프로그램을 가지고 있습니다. 나는

cameraRecorder = Camera.open(1); //(this is the front facing camera) 

내 카메라를 열고 카메라 매개 변수를 얻을 수 및 지원되는 모든 미리보기는 갤럭시 탭 10.1 실행 ICS의 미리보기 크기의

CameraParameters tmpParams = cameraRecorder.getParameters(); 

List<Camera.Size> tmpList = tmpParams.getSupportedPreviewSizes(); 

일 (4.0.4) 크기 800 × 600

입니다

하지만 난 내 미디어 플레이어에서 비디오 크기를 설정하려고 할 때

mediaRecorder.setVideoSize(800,600); 

나는이 오류 이 차이가 존재하는 이유

12-19 17:27:55.035: E/CameraSource(110): Video dimension (800x600) is unsupported 
12-19 17:27:55.035: E/StagefrightRecorder(110): cameraSource do not init 
12-19 17:27:55.035: E/StagefrightRecorder(110): setupCameraSource failed. (-19) 
12-19 17:27:55.035: E/StagefrightRecorder(110): setupMediaSource is failed. (-19) 
12-19 17:27:55.035: E/StagefrightRecorder(110): setupMPEG4Recording is failed. (-19) 
12-19 17:27:55.035: E/MediaRecorder(30119): start failed: -19 

사람은 (내가 지원 기록 크기 중 하나는 1280 * 720입니다하지만 나를 위해 너무 큰 알고) 알고 있나요.

답변

3

미리보기와 녹음이 다르기 때문입니다. Camera.Parameters.getSupportedVideoSizes()에 지정된 크기를 사용해야합니다.

public List<Camera.Size> getSupportedVideoSizes() 
Gets the supported video frame sizes that can be used by MediaRecorder. 
+0

내 응용 프로그램을 2.2 (froyo)까지 실행하도록 밀어 넣는 것을 제외하고는 꼭 필요한 것처럼 보입니다. getSupportedVideoSizes()는 api 11 이상 (honeycomb 이상)에만 적용됩니다. – Raigex

+0

이전 Android 출시 버전의 태블릿을 타겟팅하고 있습니다. 나는 당신이 상황을 즐겁게 처리 할 필요가 있다고 생각합니다. 만약 시스템이 언급 된 방법을 제공한다면 미리보기와 레코드가 다른 크기를 가질 수 있다는 사실을 존중해야합니다. 시스템이 오래 되었다면 이전 작업 방법의 응답에 의존 할 수 있습니다. – auselen

+0

그래, 내가 아프 것 같아요 11 API를 타겟팅하고 뭔가 진저 또는 아래 있는지 확인해야합니다. 감사 – Raigex

관련 문제