Class VideoWriter

ビデオライターを表します。

継承

VideoWriter

実装

Namespace: ic4
Assembly: ic4dotnet.dll

構文

public class VideoWriter : HandleObject, IDisposable

備考

ビデオライターを作成するには、VideoWriter(VideoWriterType) コンストラクタを使用し、作成したいビデオファイルの種類を指定します。

ビデオライターを作成したら、BeginFile(string, ImageType, double) を呼び出して新しいビデオファイルの書き込みを開始します。ビデオファイルに画像を追加するには AddFrame(ImageBuffer) を呼び出します。録画を完了するには FinishFile() を呼び出します。

PropertyMap を使用して、エンコーダの設定オプションにアクセスできます。

コンストラクタ

VideoWriter(VideoWriterType)

新しいビデオライターを作成します。

宣言

public VideoWriter(VideoWriterType type)

パラメータ

型 名前 説明
VideoWriterType type 作成するビデオライターのファイルタイプ

例外

型 条件
IC4Exception 詳細については ErrorCode および ToString() を確認してください。

プロパティ

PropertyMap

ビデオライターのエンコーダ設定用プロパティマップ

宣言

public PropertyMap PropertyMap { get; }

プロパティ値

型 説明
PropertyMap ビデオライターのプロパティマップ

例外

型 条件
IC4Exception 詳細については ErrorCode および ToString() を確認してください。

メソッド

AddFrame(ImageBuffer)

現在開いているビデオファイルに画像を追加します。

宣言

public void AddFrame(ImageBuffer buffer)

パラメータ

型 名前 説明
ImageBuffer buffer ビデオファイルに追加する画像バッファ
備考

ビデオファイルに画像を追加する前に、BeginFile(string, ImageType, double) を呼び出す必要があります。

画像バッファの ImageType は、ファイル開始時に BeginFile(string, ImageType, double) に渡した imageType パラメータと同じでなければなりません。

ビデオライターは画像バッファへの参照を保持することがあります。この場合、バッファの解放や再利用が遅れる可能性があります。バッファが共有状態になり、安全に書き込みできなくなることがあります(IsWritable)。 コピーしてすぐにデータを取り出したい場合は、AddFrameCopy(ImageBuffer) を使用してください。

例外

型 条件
ArgumentNullException

buffer が null の場合。

InvalidOperationException

BeginFile(string, ImageType, double) が呼び出されていない場合。

IC4Exception 詳細については ErrorCode および ToString() を確認してください。

AddFrameCopy(ImageBuffer)

現在開いているビデオファイルに画像を追加します。追加時に画像データはコピーされます。

宣言

public void AddFrameCopy(ImageBuffer buffer)

パラメータ

型 名前 説明
ImageBuffer buffer ビデオファイルに追加する画像バッファ
備考

ビデオファイルに画像を追加する前に、BeginFile(string, ImageType, double) を呼び出す必要があります。

画像バッファの ImageType は、ファイル開始時に BeginFile(string, ImageType, double) に渡した imageType パラメータと同じでなければなりません。

画像バッファの内容はコピーされるため、バッファの参照カウントは増加せず、最終参照が解放されればすぐに再利用できます。 コピー操作を避けたい場合は、AddFrame(ImageBuffer) を使用してください。

例外

型 条件
ArgumentNullException

buffer が null の場合。

InvalidOperationException

BeginFile(string, ImageType, double) が呼び出されていない場合。

IC4Exception 詳細については ErrorCode および ToString() を確認してください。

BeginFile(string, ImageType, double)

新しいビデオファイルを開き、画像を書き込む準備をします。

宣言

public void BeginFile(string fileName, ImageType imageType, double frameRate)

パラメータ

型 名前 説明
string fileName 新しいビデオファイルの名前
ImageType imageType 書き込む画像の種類
double frameRate ビデオファイルの再生フレームレート

例外

型 条件
ArgumentNullException
InvalidOperationException

FinishFile() に対応する呼び出しなしで BeginFile が既に呼び出されました。

IC4Exception 詳細については ErrorCode および ToString() を確認してください。

FinishFile()

ビデオファイルの書き込みを終了します。

宣言

public void FinishFile()

例外

型 条件
InvalidOperationException

BeginFile(string, ImageType, double) が呼び出されていません。

IC4Exception 詳細については ErrorCode および ToString() を確認してください。

実装

IDisposable