关于mobile中相机的处理方法

我想实现的功能是 调用相机 所有模式参数都可以用户自行设置 拍照或者摄像之后 实时监控到新增的文件名 交由上传模块上传
http://www.devdiv.com/thread-23129-1-1.html
在这个帖子中 大家给出的方案都是用 SHCameraCapture 或者是更加底层的 Directshow
但是这个解决不了我的问题
1. 模式选择问题  只能是拍照或者是摄像  这个是在调用的时候就得设置好的 无法在调用后再切换
2. 拍摄的参数 如分辨率 等  这些我暂时没办法取到相机的默认参数
3. 连拍问题 (包括拍照 摄像)拍完一张就退出相机程序了 无法拍摄多次

好吧 我承认我没招了 使用了最傻的办法(但是上面提到的三个问题都可以解决,只是有些手机ROM不兼容,比如说照相机程序不叫camera.exe -_-! ) 代码如下
  1. STARTUPINFO siMp4;
  2.                         PROCESS_INFORMATION piMp4;
  3.                         ZeroMemory(&siMp4, sizeof(siMp4));
  4.                         siMp4.cb = sizeof(siMp4);
  5.                         ZeroMemory(&piMp4, sizeof(piMp4));

  6.                         CString strPath = _T("\\windows\\camera.exe");
  7.                         BOOL bRet = ::CreateProcess(strPath.GetBuffer(), (LPCWSTR)NULL,
  8.                                 NULL, NULL, FALSE, 0, NULL, NULL, &siMp4, &piMp4);
复制代码
相机起来后 需要实时监控相机的目录 对新增的文件予以处理
http://www.devdiv.com/thread-23401-1-1.html
文件夹内排序的API又无...为了先出效果...只好先用遍历文件的方法了 然后按照时间段一个一个取
检查的目录有如下几个 因为WM汉化的原因 照片可能有两个目录 最后一个目录是在同事的HTC 6950的一个奇怪的ROM里的设置...那就先加进去兼容了

_T("\\My Documents\\我的照片\\")
_T("\\My Documents\\我的图片\\")
_T("\\My Documents\\我的视频\\")
_T("\\Storage Card\\My Documents\\我的照片\\")
_T("\\Storage Card\\My Documents\\我的图片\\")
_T("\\Storage Card\\My Documents\\我的视频\\")
_T("\\Storage Card\\DCIM\\100MEDIA\\")

HANDLE hFind = FindFirstFile(strPath.c_str(), &wfd);
do
{
     .........
}while(FindNextFile(hFind, &wfd))

取出文件后 交由上传去处理, 至此 我解脱了...优化是后面的事情了...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值