关于mobile中相机的处理方法

来源:互联网 发布:apache禁止ip访问网站 编辑:程序博客网 时间:2024/06/05 20:00
我想实现的功能是 调用相机 所有模式参数都可以用户自行设置 拍照或者摄像之后 实时监控到新增的文件名 交由上传模块上传
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))

取出文件后 交由上传去处理, 至此 我解脱了...优化是后面的事情了...
原创粉丝点击