我想实现的功能是 调用相机 所有模式参数都可以用户自行设置 拍照或者摄像之后 实时监控到新增的文件名 交由上传模块上传
http://www.devdiv.com/thread-23129-1-1.html
在这个帖子中 大家给出的方案都是用 SHCameraCapture 或者是更加底层的 Directshow
但是这个解决不了我的问题
1. 模式选择问题 只能是拍照或者是摄像 这个是在调用的时候就得设置好的 无法在调用后再切换
2. 拍摄的参数 如分辨率 等 这些我暂时没办法取到相机的默认参数
3. 连拍问题 (包括拍照 摄像)拍完一张就退出相机程序了 无法拍摄多次
好吧 我承认我没招了 使用了最傻的办法(但是上面提到的三个问题都可以解决,只是有些手机ROM不兼容,比如说照相机程序不叫camera.exe -_-! ) 代码如下
复制代码
相机起来后 需要实时监控相机的目录 对新增的文件予以处理
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))
取出文件后 交由上传去处理, 至此 我解脱了...优化是后面的事情了...
http://www.devdiv.com/thread-23129-1-1.html
在这个帖子中 大家给出的方案都是用 SHCameraCapture 或者是更加底层的 Directshow
但是这个解决不了我的问题
1. 模式选择问题 只能是拍照或者是摄像 这个是在调用的时候就得设置好的 无法在调用后再切换
2. 拍摄的参数 如分辨率 等 这些我暂时没办法取到相机的默认参数
3. 连拍问题 (包括拍照 摄像)拍完一张就退出相机程序了 无法拍摄多次
好吧 我承认我没招了 使用了最傻的办法(但是上面提到的三个问题都可以解决,只是有些手机ROM不兼容,比如说照相机程序不叫camera.exe -_-! ) 代码如下
- STARTUPINFO siMp4;
- PROCESS_INFORMATION piMp4;
- ZeroMemory(&siMp4, sizeof(siMp4));
- siMp4.cb = sizeof(siMp4);
- ZeroMemory(&piMp4, sizeof(piMp4));
- CString strPath = _T("\\windows\\camera.exe");
- BOOL bRet = ::CreateProcess(strPath.GetBuffer(), (LPCWSTR)NULL,
- 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))
取出文件后 交由上传去处理, 至此 我解脱了...优化是后面的事情了...