读书人

关于directshow 中mediaDet.GetBitmap

发布时间: 2012-04-25 19:32:32 作者: rapoo

关于directshow 中mediaDet.GetBitmapBits的问题【请教】
自己写了一个视频帧提取代码:
hr = mediaDet.GetBitmapBits(position, out bufferSize, IntPtr.Zero, width, height);
if (hr == 0)
{
buffer = Marshal.AllocCoTaskMem(bufferSize);
hr = mediaDet.GetBitmapBits(position, out bufferSize, buffer, width, height);

BitmapInfoHeader bitmapHeader = (BitmapInfoHeader)Marshal.PtrToStructure(buffer, typeof(BitmapInfoHeader));
IntPtr bitmapData;

if (IntPtr.Size == 4)

执行的时候很不稳定有时候执行到“hr = mediaDet.GetBitmapBits(position, out bufferSize, buffer, width, height);”这句,程序就跳出了。不知道是怎么回事?希望知道的朋友能给我解析下。

[解决办法]
mediaDet这个类不适合用来做快速截图,还是用SampleGrabber吧,这个支持双缓冲

读书人网 >多媒体

热点推荐