IAMExtTransport::SetEditPropertySet
SetEditPropertySet メソッドは、編集プロパティのグループを記述する編集プロパティ セットを登録する。
構文
HRESULT SetEditPropertySet(
long *pEditID,
long State
);
パラメータ
pEditID
[in, out] 編集プロパティ セットの ID を指定または取得する long 型の整数値へのポインタ。
State
[in] 編集プロパティ セットの状態を指定する。
値 | 説明 |
ED_ACTIVE | 編集プロパティ セットをアクティブにする。 |
ED_DELETE | 編集プロパティ セットを削除する。 |
ED_INACTIVE | 編集プロパティ セットを非アクティブにする。 |
ED_REGISTER | 編集プロパティ セットを登録する。 |
値が ED_REGISTER の場合、pEditID 引数は、編集プロパティ セットの ID を受け取る。他のフラグの場合、pEditID 引数を使って ID を指定する。
戻り値
メソッドが成功すると、戻り値は S_OK となる。それ以外の場合は HRESULT エラー コードを返す。
注意
編集イベントは、録画シーケンスを定義する一連の引数である。これらの引数は、編集モード、IN 点、アウト点を指定したり、特定の場所をシークしたりできる。各編集イベントは、1 つまたは複数の編集プロパティと呼ばれる引数で構成される。プロパティの集合は、編集プロパティ セットと呼ばれる。各編集プロパティ セットは、デバイス フィルタによって割り当てられた long 型の整数値で識別される。
編集イベントを作成および実行するには、アプリケーションで以下のことを実行しなければならない。
- 編集プロパティ セットを登録する。State 引数内で値 ED_REGISTER を使って SetEditPropertySet ** メソッドを呼び出す。メソッドが返る際、pEditID 引数には、編集プロパティ セットの ID が格納されている。以後のメソッド呼び出しで編集プロパティ セットを識別するには、この番号を使う。
- IAMExtTransport::SetEditProperty メソッドを使って、編集プロパティを指定する。
- 値 ED_ACTIVE を使って SetEditPropertySet を呼び出して、編集イベントをアクティブにする。
- 値 ED_EDIT_SEEK を使って SetEditProperty を呼び出して、駆動デバイスを頭出しする。
- フィルタ グラフを実行する。
たとえば以下のコードは、すべてのトラックでインサート編集を設定する。
// // 編集プロパティ セット ID を登録する (メモリが割り当てられる)。
long EditId;
SetEditPropertySet(&EditId, ED_REGISTER);
// 編集モードを設定する。
SetEditProperty(EditId, ED_EDIT_MODE, ED_EDIT_MODE_INSERT);
// イベントに関する詳細を設定する。
SetEditProperty(EditId, ED_EDIT_TRACK, ED_VIDEO | ED_AUDIO_ALL);
SetEditProperty(EditId, ED_REHEARSE_MODE, ED_EDIT_PERFORM);
// ソースとレコードのタイムを設定する。
SetEditProperty(EditId, ED_EDIT_SRC_INPOINT, 200)
SetEditProperty(EditId, ED_EDIT_SRC_OUTPOINT, 500)
SetEditProperty(EditId, ED_EDIT_REC_INPOINT, 100)
SetEditProperty(EditId, ED_EDIT_REC_OUTPOINT, 400)
// 編集イベントをアクティブにする。
SetEditPropertySet(&EditId, ED_ACTIVE);
// Cue up the machine.
SetEditProperty(EditId, ED_EDIT_SEEK, OATRUE);
// グラフを実行する (ここでは示さない)。
DV の実装
MSDV はこのメソッドをサポートしておらず、E_NOTIMPL を返す。
参照