Microsoft DirectX 8.0 |
Microsoft® DirectShow 編集サービス (DES) の中心的オブジェクトであるタイムラインを操作するメソッドを提供する。タイムラインは、ビデオ クリップ、オーディオ クリップ、エフェクト、およびクリップ間のトランジションなど、時間順の要素のコレクションである。レンダリング エンジンは、タイムラインを使用してフィルタ グラフを作成する。アプリケーションは、フィルタ グラフからレンダリングされた出力を生成できる。
AMTimeline オブジェクトは、3 つの基本的なサービスを提供する。
メソッド
AddGroup タイムラインにグループを追加する。 ClearAllGroups タイムライン内のすべてのグループ、およびそれらに含まれるすべてのオブジェクトを削除する。 CreateEmptyNode 新しいタイムライン オブジェクトを作成する。 EffectsEnabled エフェクトが有効かどうかを調べる。 EnableEffects タイムライン内のすべてのエフェクトを有効または無効にする。 EnableTransitions タイムライン内のすべてのトランジションを有効または無効にする。 GetCountOfType 指定されたグループとそのすべての子に含まれる、指定されたタイプのオブジェクトの個数を取得する。 GetDefaultEffect Visual Basic ではサポートされていない。 GetDefaultEffectB デフォルトのエフェクトを取得する。 GetDefaultFPS デフォルトの出力フレーム レート (毎秒のフレーム数) を取得する。 GetDefaultTransition Visual Basic ではサポートされていない。 GetDefaultTransitionB デフォルトのトランジションを取得する。 GetDirtyRange Visual Basic ではサポートされていない。 GetDuration Visual Basic ではサポートされていない。 GetDuration2 タイムラインの時間幅を取得する。 GetGroup 指定されたグループを取得する。 GetGroupCount タイムラインに含まれるグループの個数を取得する。 GetInsertMode Visual Basic ではサポートされていない。 IsDirty Visual Basic ではサポートされていない。 RemGroupFromList Visual Basic ではサポートされていない。 SetDefaultEffect Visual Basic ではサポートされていない。 SetDefaultEffectB デフォルトのエフェクトを設定する。 SetDefaultFPS デフォルトの出力フレーム レート (毎秒のフレーム数) を設定する。 SetDefaultTransition Visual Basic ではサポートされていない。 SetDefaultTransitionB デフォルトのトランジションを設定する。 SetInsertMode Visual Basic ではサポートされていない。 SetInterestRange Visual Basic ではサポートされていない。 TransitionsEnabled トランジションが有効かどうかを調べる。 ValidateSourceNames タイムライン内のソース名を検証する。
タイムラインにグループを追加する。
構文
object.AddGroup( pGroup As IAMTimelineObj )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- pGroup
- グループを指定する AMTimelineObj オブジェクト。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_INVALIDARG グループの最大数を超えた。 E_NOINTERFACE このオブジェクトはグループではない。
注意
現在、タイムラインがサポートするグループの最大数は 32 である。
タイムライン内のすべてのグループ、およびそれらに含まれるすべてのオブジェクトを削除する。
構文
object.ClearAllGroups()
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
新しいタイムライン オブジェクトを作成する。
このメソッドは重要な初期化ルーチンを実行するので、タイムラインの作成にはこのメソッドを使用し、New キーワードは使用しない。
構文
object.CreateEmptyNode( ppObj As AMTimelineObj, Type As TIMELINE_MAJOR_TYPE )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- ppObj
- 新しいオブジェクトを受け取る AMTimelineObj オブジェクト。
- Type
- 作成するオブジェクトのタイプを指定する TIMELINE_MAJOR_TYPE 列挙型のメンバ。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次のいずれかの値が設定される場合がある。
E_INVALIDARG オブジェクト タイプが有効ではない。 E_OUTOFMEMORY メモリ不足。
エフェクトが有効かどうかを調べる。エフェクトが無効の場合、エフェクトはタイムライン内に存在したままだが、レンダリングはされない。
構文
object.EffectsEnabled( pfEnabled As Long )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- pfEnabled
- エフェクトが有効かどうかを示す値を受け取る変数。値がゼロの場合は、エフェクトは無効である。値がゼロ以外の場合は、エフェクトは有効である。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
タイムライン内のすべてのエフェクトを有効または無効にする。エフェクトが無効の場合、エフェクトはタイムライン内に存在したままだが、レンダリングはされない。
構文
object.EnableEffects( fEnabled As Long )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- fEnabled
- エフェクトを有効または無効のどちらに設定するかを示す値。ゼロの場合は、エフェクトは無効になる。ゼロ以外の場合は、エフェクトは有効になる。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
タイムライン内のすべてのトランジションを有効または無効にする。トランジションが無効の場合、レンダリング エンジンはトランジションをカット (直接切り替え) として扱う。 つまり、レンダリングされた出力では、トラックから次のトラックに即座に切り替わる。デフォルトのカット ポイントは、トランジションの時間幅の中間点である。トランジションに対して IAMTimelineTrans.SetCutPoint メソッドを呼び出すことで、カット ポイントを変更できる。トランジションは、無効になってもタイムラインに残っている。
構文
object.EnableTransitions( fEnabled As Long )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- fEnabled
- トランジションを有効または無効のどちらに設定するかを示す値。ゼロの場合は、トランジションは無効になる。ゼロ以外の場合は、トランジションは有効になる。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
指定されたグループとそのすべての子に含まれる、指定されたタイプのオブジェクトの個数を取得する。
構文
object.GetCountOfType( Group As Long, pVal As Long, pValWithComps As Long, MajorType As TIMELINE_MAJOR_TYPE )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- Group
- オブジェクトの個数を取得するグループのインデックス番号。
- pVal
- グループおよびそのすべての仮想トラックに含まれる (再帰的に内部に含まれるオブジェクトも含む)、指定されたタイプのオブジェクトの個数を受け取る変数。
- pValWithComps
- pVal に返された個数に、これ自体も含めて検索された合成の個数を加えた数を受け取る変数。
- MajorType
- TIMELINE_MAJOR_TYPE 列挙型のメンバ。 個数を数えるオブジェクトのタイプを指定する。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_INVALIDARG 無効なグループ番号。
注意
このメソッドの呼び出しは、指定したグループに対する AMTimelineComp.GetCountOfType の呼び出しに相当する。詳細については、そのメソッドの「注意」を参照すること。
通常、アプリケーションではこのメソッドを呼び出さない。レンダリング エンジンによって内部的に呼び出される。
Visual Basic ではサポートされていない。
構文
object.GetDefaultEffect( pGuid As GUID )
デフォルトのエフェクトを取得する。レンダリング エンジンがエフェクトをレンダリングできない場合、デフォルトのエフェクトが代用される。
構文
object.GetDefaultEffectB() As String
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
戻り値
デフォルト エフェクトの GUID を表す文字列を返す。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_OUTOFMEMORY メモリ不足。
デフォルトの出力フレーム レート (毎秒のフレーム数、FPS) を取得する。グループは、この値をデフォルトのフレーム レートとして使用する。グループのフレーム レートを設定するには、グループに対して AMTimelineGroup.SetOutputFPS メソッドを呼び出す。
構文
object.GetDefaultFPS( pFPS As Double )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- pFPS
- デフォルトのフレーム レート (毎秒のフレーム数) を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
Visual Basic ではサポートされていない。
構文
object.GetDefaultTransition( pGuid As GUID )
デフォルトのトランジションを取得する。レンダリング エンジンがトランジションをレンダリングできない場合は、デフォルトのトランジションが代用される。
構文
object.GetDefaultTransitionB() As *pGuid
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
戻り値
デフォルトのトランジションの GUID を表す文字列を返す。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_OUTOFMEMORY メモリ不足。
Visual Basic ではサポートされていない。
構文
object.GetDirtyRange( pStart As <Unsupported variant type>, pStop As <Unsupported variant type> )
Visual Basic ではサポートされていない。
構文
object.GetDuration( pDuration As <Unsupported variant type> )
タイムラインの時間幅を取得する。
構文
object.GetDuration2( pDuration As Double )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- pDuration
- タイムラインの時間幅 (秒数) を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
指定されたグループを取得する。
構文
object.GetGroup( ppGroup As AMTimelineObj, WhichGroup As Long )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- ppGroup
- 指定したグループを受け取る AMTimelineObj オブジェクト。
- WhichGroup
- 取得するグループのインデックス。 このインデックスは、グループがタイムラインに追加された順序に基づく。タイムラインに最初に追加されたグループのインデックスは 0 となる。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_INVALIDARG 無効な引数。
タイムラインに含まれるグループの個数を取得する。
構文
object.GetGroupCount( pCount As Long )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- pCount
- タイムライン内のグループの個数を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
Visual Basic ではサポートされていない。
構文
object.GetInsertMode( pMode As Long )
Visual Basic ではサポートされていない。
構文
object.IsDirty( pDirty As Long );
Visual Basic ではサポートされていない。
構文
object.RemGroupFromList( pGroup As AMTimelineObj );
Visual Basic ではサポートされていない。
構文
object.SetDefaultEffect( pGuid As GUID )
デフォルトのエフェクトを設定する。レンダリング エンジンがエフェクトをレンダリングできない場合は、デフォルトのエフェクトが代用される。
構文
object.SetDefaultEffectB( pGuid As String )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- pGuid
- デフォルト エフェクトの GUID を表す文字列。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_OUTOFMEMORY メモリ不足。
注意
デフォルト エフェクトを設定していない場合、またはデフォルトに指定したエフェクトでエラーが発生した場合は、DES 自体のデフォルト エフェクトが使用される。
デフォルトの出力フレーム レート (毎秒のフレーム数) を設定する。グループは、この値をデフォルトのフレーム レートとして使用する。グループのフレーム レートを設定するには、グループに対して AMTimelineGroup.SetOutputFPS メソッドを呼び出す。
構文
object.SetDefaultFPS( FPS As Double )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- FPS
- デフォルトのフレーム レート (毎秒のフレーム数)。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
Visual Basic ではサポートされていない。
構文
object.SetDefaultTransition( pGuid As GUID )
デフォルトのトランジションを設定する。レンダリング エンジンがトランジションをレンダリングできない場合は、デフォルトのトランジションが代用される。
構文
object.SetDefaultTransitionB( pGuid As String )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- pGuid
- デフォルトのトランジションの GUID を表す文字列。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_OUTOFMEMORY メモリ不足。
注意
デフォルトのトランジションを設定していない場合、またはデフォルトに指定したトランジションでエラーが発生した場合は、DES 自体のデフォルトのトランジションが使用される。
Visual Basic ではサポートされていない。
構文
object.SetInsertMode( Mode As Long )
Visual Basic ではサポートされていない。
構文
object.SetInterestRange( Start As <Unsupported variant type>, Stop As <Unsupported variant type> )
トランジションが有効かどうかを調べる。
構文
object.TransitionsEnabled( pfEnabled As Long )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- pfEnabled
- トランジションが有効かどうかを指定する値。ゼロの場合は、トランジションは無効である。ゼロ以外の場合は、トランジションは有効である。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
参照
メディア ロケータを使用して、タイムライン内のソース名を検証する。オプションで、このメソッドは見つかったファイルのソース オブジェクトを更新する。
構文
object.ValidateSourceNames( ValidateFlags As Long, pOverride As MediaLocator, NotifyEventHandle As LONG_PTR )
パラメータ
- object
- 結果が AMTimeline オブジェクトになるオブジェクト式。
- ValidateFlags
- メディア ロケータの動作を指定する、検証フラグ のビットごとの組み合わせ。SFN_VALIDATEF_REPLACE フラグと SFN_VALIDATEF_CHECK フラグは、必ず指定しなければならない。指定しないと、メソッドから E_INVALIDARG が返る。
- pOverride
- 省略可能。デフォルトの代わりに使用する MediaLocator オブジェクト。デフォルトのメディア ロケータを使用するには、このパラメータの値を Nothing に設定する。
- NotifyEventHandle
- LONG_PTR タイプの変数。このパラメータは無視されるので、ゼロでかまわない。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_INVALIDARG 無効な引数。