デスクトップ録画アプリケーションを作成しようとしています。全画面を記録するとプログラムは正常に機能しますが、デスクトップから特定の領域を選択して記録する場合は、次のエラーが発生します。AVIStreamSetFormatエラー
Error in VideoStreamSetFormat: -2147205016
私はXvid MPEG-4コーデックを使用してAVIビデオを作成しています。私は、Xvid MPEG-4コーデックが確実な画像サイズ(幅と高さ)を受け入れないことが問題だと思います。私はこの問題に固執していませんし、誰かが私がなぜそれが機能していないのか理解できるように助けることができるかどうか尋ねています。
private void SetFormat(IntPtr psCompress)
{
BITMAPINFOHEADER bi = new BITMAPINFOHEADER();
bi.biSize = (uint)Marshal.SizeOf(bi);
bi.biWidth = (Int32)_width;
bi.biHeight = (Int32)_height;
bi.biPlanes = 1;
bi.biBitCount = 24;
bi.biCompression = 0; // 0 = BI_RGB
bi.biSizeImage = _stride * _height;
int result = AVIStreamSetFormat(psCompress, 0, ref bi, (Int32)bi.biSize);
if (result != 0)
{
throw new Exception("Error in VideoStreamSetFormat: " + result.ToString());
}
}
BitCountはフレームレートとは関係ありません。 24を試してみてください。 –
それに気づいてくれてありがとうが、それでも私の問題は解決しない。 – danrt