1

ISampleGrabberCBインターフェイスを使用して、IMediaSample をビットマップに使用するにはどうすればよいですSampleCBか?

例えば:

int ISampleGrabberCB.SampleCB( double SampleTime, IMediaSample pSample )
    {
        Bitmap frameBitmap = new Bitmap(pSample);
        return 0;
    }
4

1 に答える 1

2

メディア サンプルをビットマップに直接変換することはありません。メディア サンプルは、ストリーミング パイプラインを通過するデータの一部であり、ビデオ フレーム、非圧縮および圧縮、オーディオ パケット、ファイル バイトのブロックなどです。明らかに、非ビデオ メディア サンプルからの意味のある変換はありません。

Sample Grabber が RGB データを受け入れるように設定されている場合 (または偶然にも RGB である場合)、正しいストライド (ピッチ) とピクセル形式を指定すると、このデータのすぐ上にオブジェクトを作成できる可能性があります。Bitmapそれ以外の場合は、追加の形式変換を実行する必要があります。

于 2013-11-19T19:37:58.863 に答える