zoukankan      html  css  js  c++  java
  • windows mobile上调用摄像头接口

    使用SHCameraCapture接口可以调出照相机进行拍照、摄像,并得到图片或视频文件的路径。


    以下代码进行拍照:
    SHCAMERACAPTURE shcc;
    ZeroMemory(&shcc, sizeof(shcc));
    shcc.cbSize             = sizeof(shcc);
    shcc.hwndOwner          = NULL;
    shcc.pszInitialDir      = NULL;
    shcc.pszDefaultFileName = NULL;
    shcc.pszTitle           = NULL;
    shcc.StillQuality       = CAMERACAPTURE_STILLQUALITY_DEFAULT;
    shcc.VideoTypes         = CAMERACAPTURE_VIDEOTYPE_ALL;
    shcc.nResolutionWidth   = 0;
    shcc.nResolutionHeight  = 0;
    shcc.nVideoTimeLimit    = 0;
    shcc.Mode               = CAMERACAPTURE_MODE_STILL;

    HRESULT hReturn = SHCameraCapture(&shcc);


    如果hReturn为S_OK,则表示拍照成功,shcc.szFile即为文件名称(包含路径)。shcc.pszInitialDir和shcc.pszDefaultFileName可以设置保存路径和默认文件名。shcc.hwndOwner如果使用了不同的窗体,可能会有问题。


    如果要进行摄像,有些参数需进行调整,如下
    shcc.StillQuality       = CAMERACAPTURE_STILLQUALITY_NORMAL;
    shcc.VideoTypes         = CAMERACAPTURE_VIDEOTYPE_STANDARD;
    shcc.nResolutionWidth   = 640;
    shcc.nResolutionHeight  = 480;
    shcc.Mode               = CAMERACAPTURE_MODE_VIDEOWITHAUDIO;


    这些参数涉及到几个枚举变量,我们来看看:
    typedef enum {
        CAMERACAPTURE_MODE_STILL = 0,
        CAMERACAPTURE_MODE_VIDEOONLY,
        CAMERACAPTURE_MODE_VIDEOWITHAUDIO,
    } CAMERACAPTURE_MODE;

    CAMERACAPTURE_MODE_STILL对应照片,CAMERACAPTURE_MODE_VIDEOONLY对应无声视频,CAMERACAPTURE_MODE_VIDEOWITHAUDIO对应有声视频。


    typedef enum {
        CAMERACAPTURE_STILLQUALITY_DEFAULT = 0,
        CAMERACAPTURE_STILLQUALITY_LOW,
        CAMERACAPTURE_STILLQUALITY_NORMAL,
        CAMERACAPTURE_STILLQUALITY_HIGH,
    } CAMERACAPTURE_STILLQUALITY;

    对应图片和视频清晰度。


    typedef enum {
        CAMERACAPTURE_VIDEOTYPE_ALL = 0xFFFF,
        CAMERACAPTURE_VIDEOTYPE_STANDARD = 1,
        CAMERACAPTURE_VIDEOTYPE_MESSAGING = 2,
    } CAMERACAPTURE_VIDEOTYPES;

    CAMERACAPTURE_VIDEOTYPE_ALL对应照片,CAMERACAPTURE_VIDEOTYPE_STANDARD对应WMV视频,CAMERACAPTURE_VIDEOTYPE_MESSAGING对应MMS视频。当使用后两个值时,shcc的nResolutionWidth和nResolutionHeight成员均不能为零。一般是640x480。


    很遗憾,这个接口只能在WM5.0以上使用。WM2003上没有统一摄像头标准,硬件厂商各做各的,只能跟硬件厂商询问调用方法。


     

  • 相关阅读:
    [Swift-2019力扣杯春季初赛]2. 校园自行车分配
    php 遇到报错 Call to a member function fetch_object()
    Proactive Patching Overview
    PHP 官方说明
    SecureCRT 迁移到新环境,导出配置文件目录 转
    ORA-00020: maximum number of processes (300) exceeded
    转 SQL*PLUS中的替换变量(& &&)
    转 DOS(CMD)下批处理换行问题/命令行参数换行 arg ms-dos
    php 报错如下:Notice: Trying to get property of non-object
    mysqli 进一步分析
  • 原文地址:https://www.cnblogs.com/fengju/p/6173555.html
Copyright © 2011-2022 走看看