次の方法で共有


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 を返す。

参照