2016-06-20 18 views
0

Ich habe eine Android 5.1.1 Set-Top-Box und eine HP USB-Webcam angeschlossen. Die Kamera hat eine Videoauflösung von 1920x1080 (eingecheckt in Windows).Android: Kamera: max. Auflösung

schrieb ich ein Android-App mit diesem Code:

CameraManager.getCameraCharacteristics(cameraId).get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP).getOutputSizes(MediaRecorder.class)

und der größte Wert ist 1280x720. Ich frage mich, warum ich nur 720 bekomme? Es scheint, dass alle Apps auf diesem Gerät nur 720 sehen. Also die Frage ist nicht, was ist falsch mit meinem Code, aber was ist los mit Android oder diesem Gerät?

Dies ist, was ich im Protokoll sehen:

I/CameraManagerGlobal(25643): getCameraService: Reconnecting to camera service 
I/CameraManagerGlobal(25643): getCameraService: Reconnecting to camera service 
V/EmulatedCamera_BaseCamera( 151): getCameraInfo 
I/CameraDeviceClient( 151): CameraDeviceClient 0: Opened 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 241 connectCamera - ddd 
I/EmulatedCamera3_Sensor( 151):  lhh- 190 startUp - ddd 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 255 connectCamera - mSensor startUp, mCameraID=0 
V/EmulatedCamera_BaseCamera( 151): getCameraInfo 
I/EmulatedCamera3_Sensor( 151):  lhh- 954 readyToRun - 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 691 constructDefaultRequestSettings - constructDefaultRequestSettings: E 
E/CameraDeviceClient( 151): beginConfigure: Not implemented yet. 
W/CameraDeviceClient( 151): createStream: Camera 0: Forcing asynchronous mode for stream 
W/CameraDeviceClient( 151): createStream: Camera 0: Overriding format 0x1 to IMPLEMENTATION_DEFINED 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 452 configureStreams - configureStreams: 1 streams 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 494 configureStreams - format=22, w*h=1280x720, stream_type=0, max_buffers=0, isRestart=1 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 523 configureStreams - stream_type=0 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 543 configureStreams - find propert width and height, format=11, w*h=1280x720, stream_type=0, max_buffers=0 
I/Camera_hw( 151): 90 setBuffersFormat - Width * Height 1280 x 720 expect pixelfmt:MJPG, get:MJPG 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 571 configureStreams - width=1280, height=720, pixelfmt=MJPG 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 597 configureStreams - stream_type=0 
I/EmulatedCamera_FakeCamera3( 151):  lhh- 609 configureStreams - 0, newStream=0xb586ee24, stream_type=0, usage=3ff, priv=0xb40292e0, w*h=1280x720 

ich eine /system/etc/media_profiles.xml enthält Kameraprofile gefunden. Würde es helfen, es zu ändern?

Antwort

0

Sie können mit diesem Code überprüfen, ob die verfügbare Auflösung für die Kamera verfügbar ist ausgewählt

 Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); 
    Log.d("CAM", "No of cameras :" + Camera.getNumberOfCameras()); 
    for (int camNo = 0; camNo < Camera.getNumberOfCameras(); camNo++) { 
     Log.d("CAM", "Camera :" + camNo); 

     Camera.CameraInfo camInfo = new Camera.CameraInfo(); 
     Camera.getCameraInfo(camNo, camInfo); 
     mCamera = Camera.open(camNo); 
     Camera.Parameters params = mCamera.getParameters(); 
     List <Camera.Size> sizes = params.getSupportedPreviewSizes(); 
     Camera.Size captureSize = sizes.get(0); 
     for (Camera.Size s: sizes) { 
      Log.e("CAM", "size : " + s.width + " x " + s.height); 
     } 
     mCamera.release(); 
     mCamera = null; 
    } 

Wenn diese Auflösung hier nicht neen ist es wahrscheinlich ein Problem mit der Hardware.

+0

Selben: nur 1280x720. Ist es möglich, dass Android dies irgendwie einschränkt? Oder in einigen Android-Eigenschaften Datei behoben? – jms

+0

Auf Android hatte ich in /system/build.prop die folgende Zeile: 'ro.camera.preview.MaxSize = 1280x720', aber die Änderung hatte keine Auswirkungen. – jms

+0

Was ist die maximale Auflösung, die Sie in den standardmäßigen Kamera-App-Einstellungen sehen (nicht für Video) –