织梦CMS - 轻松建站从此开始!

罗索

windows mobile上调用摄像头接口

落鹤生 发布于 2010-06-15 21:58 点击:次 
使用SHCameraCapture接口可以调出照相机进行拍照、摄像,并得到图片或视频文件的路径。以下代码进行拍照,但很遗憾,这个接口只能在WM5.0以上使用。WM2003上没有统一摄像头标准,硬件厂商各做各的,只能跟硬件厂商询问调用方法。
TAG:

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

以下代码进行拍照:

  1. SHCAMERACAPTURE shcc; 
  2. ZeroMemory(&shcc, sizeof(shcc)); 
  3. shcc.cbSize             = sizeof(shcc); 
  4. shcc.hwndOwner          = NULL; 
  5. shcc.pszInitialDir      = NULL; 
  6. shcc.pszDefaultFileName = NULL; 
  7. shcc.pszTitle           = NULL; 
  8. shcc.StillQuality       = CAMERACAPTURE_STILLQUALITY_DEFAULT; 
  9. shcc.VideoTypes         = CAMERACAPTURE_VIDEOTYPE_ALL; 
  10. shcc.nResolutionWidth   = 0; 
  11. shcc.nResolutionHeight = 0; 
  12. shcc.nVideoTimeLimit    = 0; 
  13. shcc.Mode               = CAMERACAPTURE_MODE_STILL; 
  14.  
  15. HRESULT hReturn = SHCameraCapture(&shcc); 

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


如果要进行摄像,有些参数需进行调整,如下

  1. shcc.StillQuality       = CAMERACAPTURE_STILLQUALITY_NORMAL; 
  2. shcc.VideoTypes         = CAMERACAPTURE_VIDEOTYPE_STANDARD; 
  3. shcc.nResolutionWidth   = 640; 
  4. shcc.nResolutionHeight = 480; 
  5. 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上没有统一摄像头标准,硬件厂商各做各的,只能跟硬件厂商询问调用方法。

 

(myyb)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201006/9657.html]
本文出处:百度博客 作者:myyb
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容