views:

1280

answers:

1

Hi-

I'm using Directshow to capture images on a winmo device. I've based my native code on the "CameraCapture" example found in the Windows Mobile 6 sdk, with a few minor tweaks (simplified the graph, added a live preview window, upped the photo resolution, etc...).

My problem is that the call to IAMVideoControl::SetMode() to actually "take" the photo is taking too long to finish. When I call it, it runs asynchronously, takes a couple of seconds, and then plays back a camera shutter sound when the photo file gets created. It's equally slow on the unmodified CameraCapture example as it is in my own code, so nothing that I've added seems to be causing this problem.

I've worked around the asynchronous part by listening for dshow events, but I'm having trouble finding a faster way to take a photo. Annoyingly, I also haven't been able to find any way to silence the shutter sound yet (?). This is all pretty disappointing since the Microsoft "CameraCaptureDialog" instantly takes photos at equal (and higher) resolutions.

[EDIT]: The speed comment was made based on how I remembered it running and a recent test with another device, but after seeing the comments below, I retested with the standard CCD- it's just as slow. Unless anyone has any tricks to make this faster (or to silence the shutter noise), I'd say I'm gonna have to live with what I've got. THANKS AGAIN!

Any suggestions on what I might look into to speed this process up? Is there a faster way to go about taking a photo via Directshow?

thanks again!

A: 

The fastest way is SampleGrabber, but it will capture frames with the same resolution as preview (as a rule preview resolution equals to screen resolution)

alex