Class 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 |
|
| 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 |
|
| 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() を確認してください。 |


