Microsoft DirectX 8.0 |
Microsoft® DirectShow® 編集サービス (DES) のトランジション オブジェクトを操作するメソッドを提供する。
トランジションは、1 つのレイヤと、それより低い優先順位のすべてのレイヤのレンダリングされた合成との間で進行する。トランジションを持つことができるオブジェクトは、IAMTimelineTransable インターフェイスを実装する。トランジションのプロパティを設定するには、IPropertySetter インターフェイスを使用する。トランジションの使用については、「エフェクトとトランジションの操作」を参照すること。
要件
Qedit.h が必要である。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IAMTimelineTrans メソッド 説明 GetCutPoint カット ポイントを取得する。 GetCutPoint2 GetCutPoint と同じ機能だが、REFTIME 値をパラメータにとる。 SetCutPoint トランジションがカットとしてレンダリングされる場合の、トランジションが一方のソースから次のソースに切り替わる時間を設定する。 SetCutPoint2 SetCutPoint と同じ機能だが、REFTIME 値をパラメータにとる。 GetSwapInputs トランジションの入力がスワップされるかどうか示す値を取得する。 SetSwapInputs トランジションの入力がスワップされるかどうかを指定する。 GetCutsOnly トランジションがカットとしてレンダリングされるかどうかを調べる。 SetCutsOnly トランジションがカットとしてレンダリングされるかどうかを指定する。
カット ポイントを取得する。トランジションをカット (直接切り替え) としてレンダリングする場合、カット ポイントはトランジションが一方のソースから次のソースに切り替わる時間である。デフォルトでは、この値はトランジションの中間点である。たとえば、1 秒間のトランジションでは、デフォルトのカット ポイントはトランジションの 0.5 秒の位置である。
構文
HRESULT GetCutPoint( REFERENCE_TIME *pTLTime );
パラメータ
- pTLTime
- トランジションの開始タイム相対のカット ポイント (100 ナノ秒単位) を受け取る変数へのポインタ。
戻り値
次のいずれかの HRESULT 値を返す。
S_FALSE カット ポイントは設定されなかった。返される値はデフォルト値である。 S_OK カット ポイントはデフォルト以外の値に設定された。 E_POINTER NULL ポインタ引数。
参照
カット ポイントを取得する。このメソッドは GetCutPoint と同じ機能だが、REFTIME 値をパラメータにとる。
構文
HRESULT GetCutPoint2( REFTIME *pTLTime );
パラメータ
- pTLTime
- トランジションの開始タイム相対のカット ポイント (秒単位) を受け取る変数へのポインタ。
戻り値
次のいずれかの HRESULT 値を返す。
S_FALSE カット ポイントは設定されなかった。返される値はデフォルト値である。 S_OK カット ポイントはデフォルト以外の値に設定された。 E_POINTER NULL ポインタ引数。
トランジションがカットとしてレンダリングされるかどうかを調べる。カットとしてレンダリングされる場合、トランジションはカット ポイントで即座に行われる。
構文
HRESULT GetCutsOnly( BOOL *pVal );
パラメータ
- pVal
- トランジションがカットとしてレンダリングされるかどうかを指定するブール値を受け取る変数へのポインタ。TRUE の場合、トランジションは即時カットである。FALSE の場合、トランジションは通常の時間幅で行われる。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、E_POINTER を返す。
参照
トランジションの入力がスワップされるかどうか示す値を取得する。
デフォルトでは、トランジションは優先順位の低いレイヤの合成から、トランジションが存在するレイヤに向かって行われる。この進行方向を逆にすることができ、その場合、トランジションはトランジションが存在するレイヤから、優先順位の低いレイヤの合成に向かって行われる。
構文
HRESULT GetSwapInputs( BOOL *pVal );
パラメータ
- pVal
- ブール値を受け取る変数へのポインタ。この値が FALSE の場合、トランジションは優先順位の低いすべてのレイヤの合成から、そのトランジションが存在するレイヤに向かって行われる。この値が TRUE の場合、トランジションは逆の方向で行われる。デフォルト値は FALSE。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、E_POINTER を返す。
トランジションがカットとしてレンダリングされる場合の、トランジションが一方のソースから次のソースに切り替わる時間を設定する。
構文
HRESULT SetCutPoint( REFERENCE_TIME TLTime )
パラメータ
- TLTime
- トランジションの始点相対のカット ポイント (100 ナノ秒単位)。この値がトランジションの範囲の外にある場合、最も近い有効な時間に設定される。
戻り値
S_OK を返す。
注意
デフォルトでは、カット ポイントはトランジションの中間点である。たとえば、1 秒間のトランジションでは、デフォルトのカット ポイントはトランジションの 0.5 秒の位置である。
トランジションがカットとしてレンダリングされる場合の、トランジションが一方のソースから次のソースに切り替わる時間を設定する。このメソッドは SetCutPoint と同じ機能だが、REFTIME 値をパラメータにとる。
構文
HRESULT SetCutPoint2( REFTIME TLTime )
パラメータ
- TLTime
- トランジションの始点相対のカット ポイント (秒単位)。
戻り値
S_OK を返す。
トランジションがカットとしてレンダリングされるかどうかを指定する。カットとしてレンダリングされる場合、トランジションはカット ポイントで即座に行われる。トランジションのレンダリングに時間がかかる場合、カットとしてレンダリングしてプレビューの時間を短縮できる。
構文
HRESULT SetCutsOnly( BOOL Val );
パラメータ
- Val
- トランジションをカットとしてレンダリングするかどうかを示すブール値。TRUE の場合、トランジションは即時カットとしてレンダリングされる。FALSE の場合、トランジションは通常の時間幅でレンダリングされる。
戻り値
S_OK を返す。
注意
カットとしてのトランジションのレンダリングは、入力のスワップと互換性がない。詳細については、「SetSwapInputs」を参照すること。値 TRUE を使って SetCutsOnly を呼び出すと、一時的に SetSwapInputs 設定にオーバーライドする。カットのみの設定はプレビューを目的としたものであるが、この制限によってファイル出力には影響がない。そのため、ファイルを書き込む前には、値 FALSE を使って SetCutsOnly を呼び出すと覚えておくこと。
トランジションの入力がスワップされるかどうかを指定する。
デフォルトでは、トランジションは優先順位の低いレイヤの合成から、トランジションが存在するレイヤに向かって行われる。この進行方向を逆にすることができ、その場合、トランジションはトランジションが存在するレイヤから、優先順位の低いレイヤの合成に向かって行われる。詳細については、「トランジションの方向」を参照すること。
構文
HRESULT SetSwapInputs( BOOL Val );
パラメータ
- Val
- トランジションの入力がスワップされるかどうかを指定するブール値。この値が FALSE の場合、トランジションは優先順位の低いすべてのレイヤの合成から、そのトランジションが存在するレイヤに向かって行われる。この値が TRUE の場合、トランジションは逆の方向で行われる。
戻り値
S_OK を返す。
注意
このメソッドは、ビジュアル エフェクトの方向は変更しない。たとえば、左から右へのワイプは、左から右へ行われる。その方向を変更するには、IPropertySetter インターフェイスを使って Progress プロパティを設定する。