Skip to content

camera_customize

buliaoyin edited this page Apr 14, 2017 · 2 revisions

自定义Camera参数

金山云推流SDK提供了可供开发者自定义Camera参数的能力,方便开发者的进阶需求。
开发者可以使用该功能实现诸如:手动对焦、zoom、曝光补偿、防闪烁等Android Camera系统API所提供的功能。

实现方式:
  1. 使用mStreamer.getCameraCapture().getCameraParameters()获取当前Camera的Camera.Parameters;

  2. 根据需求操作获取的Camera.Parameters;

  3. 使用mStreamer.getCameraCapture().setCameraParameters()将更改后的Camera.Parameters设置给Camera实例.

Note
上述接口必须在收到KSY_STREAMER_CAMERA_INIT_DONE回调后调用方才有效。
Note
其中CameraCapture的get/setCameraParameters是Android Camera系统API的一个封装,仅仅做了一些异常保护工作, 开发者可以可以参照系统的Camera API来实现自定义功能。
自定义Camera参数的例子:
// 获取当前Camera的Parameters
Camera.Parameters parameters = mStreamer.getCameraCapture().getCameraParameters();
if (parameters != null) {
    // 自定义防闪烁参数
    parameters.setAntibanding(Camera.Parameters.ANTIBANDING_50HZ);
    // 将对焦模式更改为手动对焦
    parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
    // 将更改后的Parameters设置给Camera
    mStreamer.getCameraCapture().setCameraParameters(parameters);
}

如果将Camera的对焦模式设置为FOCUS_MODE_AUTO,则可以通过mStreamer.getCameraCapture().autoFocus()方法启动对焦过程, 通过mStreamer.getCameraCapture().cancelAutoFocus()方法取消对焦,分别对应于Android Camera对象的autoFocus和 cancelAutoFocus方法。

Clone this wiki locally