Microsoft DirectX 8.0 |
Microsoft® DirectShow 編集サービス (DES) のタイムライン オブジェクトを操作するメソッドを提供する。ソース、エフェクト、トランジション、トラック、グループ、および合成を含むすべてのタイムライン オブジェクトは、AMTimelienObj をサポートする。AMTimeline.CreateEmptyNode メソッドを呼び出して、タイムライン オブジェクトを作成しなければならない。
メソッド
ClearDirty Visual Basic ではサポートされていない。 FixTimes Visual Basic ではサポートされていない。 FixTimes2 指定された開始タイムと終了タイムを、親グループのフレーム レート設定によって定義される最も近いフレーム境界に丸める。 GetDirtyRange Visual Basic ではサポートされていない。 GetDirtyRange2 Visual Basic ではサポートされていない。 GetEmbedDepth Visual Basic ではサポートされていない。 GetGenID オブジェクトの生成された識別子を取得する。 GetGroupIBelongTo Visual Basic ではサポートされていない。 GetLocked オブジェクトの編集状態 (ロックまたはロック解除) を取得する。 GetMuted オブジェクトのミュート状態を取得する。 GetPropertySetter Visual Basic ではサポートされていない。 GetStartStop Visual Basic ではサポートされていない。 GetStartStop2 オブジェクトの親を基準とする、オブジェクトの開始タイムと終了タイムを取得する。 GetSubObject Visual Basic ではサポートされていない。 GetSubObjectGUID Visual Basic ではサポートされていない。 GetSubObjectGUIDB このオブジェクトに関連付けられているサブオブジェクトの GUID を取得する。 GetSubObjectLoaded オブジェクトにサブオブジェクトが作成されているかどうかを調べる。 GetTimelineNoRef Visual Basic ではサポートされていない。 GetTimelineType オブジェクトのタイプを取得する。 GetUserData アプリケーション定義の持続的データを取得する。 GetUserID オブジェクトのアプリケーション定義の識別子を取得する。 GetUserName オブジェクトのアプリケーション定義の名前を取得する。 Remove このオブジェクトをタイムラインから削除して、他の場所に再挿入できるようにする。 RemoveAll このオブジェクトを、サブオブジェクトと子を含めて、タイムラインから永続的に削除する。 SetDirtyRange Visual Basic ではサポートされていない。 SetDirtyRange2 Visual Basic ではサポートされていない。 SetLocked オブジェクトの編集状態をロックまたはロック解除に設定する。 SetMuted オブジェクトのミュート状態を設定する。 SetPropertySetter Visual Basic ではサポートされていない。 SetStartStop Visual Basic ではサポートされていない。 SetStartStop2 オブジェクトの親を基準として、オブジェクトの開始タイムと終了タイムを設定する。 SetSubObject Visual Basic ではサポートされていない。 SetSubObjectGUID Visual Basic ではサポートされていない。 SetSubObjectGUIDB このオブジェクトに関連付けられているサブオブジェクトの GUID を指定する。 SetTimelineType Visual Basic ではサポートされていない。 SetUserData アプリケーション定義の持続的データを設定する。 SetUserID オブジェクトに対するアプリケーション定義の識別子を設定する。 SetUserName オブジェクトに対するアプリケーション定義の名前を設定する。
Visual Basic ではサポートされていない。
構文
object.ClearDirty()
Visual Basic ではサポートされていない。
構文
object.FixTimes( pStart As <Unsupported variant type>, pStop As <Unsupported variant type> )
指定された開始タイムと終了タイムを、親グループのフレーム レート設定によって定義される最も近いフレーム境界に丸める。
構文
object.FixTimes2( pStart As Double, REFTIME As Double*pStop )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pStart
- 開始タイム (秒単位) が設定されている変数。呼び出しが成功した場合は、丸められた時間が設定される。
- pStop
- 終了タイム (秒単位) が設定されている変数。呼び出しが成功した場合は、丸められた時間が設定される。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_NOTINTREE オブジェクトがタイムライン内にない。
注意
レンダリング時に、DES はオブジェクトの開始タイムと終了タイムを、最も近いフレーム境界に丸める。ただし、DES はオブジェクトの時間は書き換えない。グループのフレーム レートを変更した場合、丸められた時間は必ず元の時間から計算される。詳細については、「フレーム レート」を参照すること。
このメソッドを使用して、レンダリングされたオブジェクト内での正確な開始タイムと終了タイムを特定できる。たとえば、プロジェクト内でシークする場合は、元の時間ではなく丸められた時間をシークしなければならない。GetStartStop2 を呼び出して元の時間を取得し、その値を FixTimes2 に渡す。
Visual Basic ではサポートされていない。
構文
object.GetDirtyRange( pStart As <Unsupported variant type>, pStop As <Unsupported variant type> )
Visual Basic ではサポートされていない。
構文
object.GetDirtyRange2( pStart As Double, pStop As Double )
Visual Basic ではサポートされていない。
構文
object.GetEmbedDepth( pVal As Long )
オブジェクトの生成された識別子を取得する。識別子は予約された番号である。アプリケーションで使用してはならない。
構文
object.GetGenID( pVal As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pVal
- 生成された識別子を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
Visual Basic ではサポートされていない。
構文
object.GetGroupIBelongTo( ppGroup As AMTimelineGroup )
オブジェクトの編集状態 (ロックまたはロック解除) を取得する。ロック状態はオブジェクトを編集してはならないことを示し、ロック解除状態はオブジェクトを編集できることを示す。タイムライン側では、ロックを強制しない。ロック状態の設定は、アプリケーション側の利便性のためにのみ存在する。
構文
GetLocked( pVal As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pVal
- オブジェクトの編集状態を受け取る変数。値がゼロの場合は、オブジェクトはロック解除されているので編集できる。値がゼロ以外の場合は、オブジェクトはロックされているので、編集してはならない。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
オブジェクトのミュート状態を取得する。ミュートされたオブジェクトはレンダリングされないが、タイムライン内には存在したままとなる。
構文
object.GetMuted( pVal As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pVal
- ミュート状態を示す値を受け取る変数。値がゼロの場合は、オブジェクトはミュートされていない。値がゼロ以外の場合は、オブジェクトとその子はミュートされている。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
オブジェクトの親がミュートされている場合、ミュート状態とは無関係に、そのオブジェクトもミュートされる。親のミュートが解除されたときは、そのオブジェクトの前のミュート状態が復元される。
Visual Basic ではサポートされていない。
構文
object.GetPropertySetter() As PropertySetter
Visual Basic ではサポートされていない。
構文
object.GetStartStop( pStart As <Unsupported variant type>, pStop As <Unsupported variant type> )
オブジェクトの親を基準とする、オブジェクトの開始タイムと終了タイムを取得する。
構文
object.GetStartStop2( pStart As Double, pStop As Double )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pStart
- 開始タイム (秒単位) を受け取る変数。
- pStop
- 終了タイム (秒単位) を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
合成、グループ、およびトラックの開始タイムは常に 0 である。
レンダリング時に、DES はオブジェクトの開始タイムと終了タイムを、最も近いフレーム境界に丸める。ただし、DES はオブジェクトの時間は書き換えない。グループのフレーム レートを変更した場合、丸められた時間は必ず元の時間から計算される。詳細については、「フレーム レート」を参照すること。レンダリングされたプロジェクト内での開始タイムを終了タイムを調べるには、GetStartStop2 が返す値を FixTimes2 メソッドに渡す。
Visual Basic ではサポートされていない。
構文
object.GetSubObject( pVal As Unknown )
Visual Basic ではサポートされていない。
構文
object.GetSubObjectGUID( pVal As GUID )
このタイムライン オブジェクトに関連付けられているサブオブジェクトの GUID を取得する。
構文
object.GetSubObjectGUIDB() As String
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
戻り値
サブオブジェクトの GUID を表す文字列を返す。オブジェクトにサブオブジェクトがない場合は、戻り値は {00000000-0000-0000-0000-000000000000} である。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_OUTOFMEMORY メモリ不足。
オブジェクトにサブオブジェクトが作成されているかどうかを調べる。
構文
object.GetSubObjectLoaded( pVal As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pVal
- サブオブジェクトが作成されているかどうかを示す値を受け取る変数。ゼロの場合は、サブオブジェクトは作成されていない。ゼロ以外の場合は、サブオブジェクトは作成されている。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
Visual Basic ではサポートされていない。
構文
object.GetTimelineNoRef( ppResult As AMTimeline )
オブジェクトのタイプを取得する。
構文
object.GetTimelineType( pVal As TIMELINE_MAJOR_TYPE )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pVal
- オブジェクトのタイプを示す、TIMELINE_MAJOR_TYPE 列挙型のメンバを受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
Visual Basic ではサポートされていない。
構文
object.GetUserData( pData As Byte, pSize As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pData
- データを保持するバイト配列への参照。
- pSize
- 配列のサイズ (バイト単位)。メソッドから戻った時点では、必要なサイズが設定されている。「注意」を参照すること。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
このメソッドは、ユーザー データに必要な配列サイズを pSize の値に設定する。ReDim 文を使って配列のサイズを変更し、メソッドをもう一度呼び出す。配列の最初の要素をパラメータの値として使い、pData パラメータを参照として渡す。
Dim UserData(0) As Byte Dim Size As Long ' 必要なサイズを調べる ReDim UserData(1) objTimelineObject.GetUserData UserData(0), Size ' 配列のサイズを変更し、すべてのデータを取得する If Size <> 0 Then ReDim UserData(Size) objTimelineObject.GetUserData UserData(0), Size End If
オブジェクトのアプリケーション定義の識別子を取得する。
構文
object.GetUserID( pVal As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pVal
- アプリケーション定義の識別子を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
オブジェクトのアプリケーション定義の名前を取得する。
構文
object.GetUserName() As String
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
戻り値
アプリケーション定義の名前を示す文字列を返す。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_OUTOFMEMORY メモリ不足。
このオブジェクトを (サブオブジェクトは含むが、子は含まない)、他の場所へ再挿入できるように、タイムラインから削除する。
構文
object.Remove()
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
このメソッドは、アプリケーションが即座にそのオブジェクトをタイムラインに挿入する場合にのみ呼び出す。このメソッドの呼び出しに続いてオブジェクトを再挿入しないのは、無効な操作である。オブジェクトを永続的に削除するには、RemoveAll を使用する。
このオブジェクトを、サブオブジェクトと子を含めて、タイムラインから永続的に削除する。
構文
object.RemoveAll()
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
オブジェクトをタイムラインの別の場所に再挿入する目的で削除するには、Remove を使用する。
Visual Basic ではサポートされていない。
構文
object.SetDirtyRange( Start As <Unsupported variant type>, Stop As <Unsupported variant type> )
Visual Basic ではサポートされていない。
構文
object.SetDirtyRange2( Start As Double, Stop As Double )
オブジェクトの編集状態をロックまたはロック解除に設定する。ロック状態はオブジェクトを編集してはならないことを示し、ロック解除状態はオブジェクトを編集できることを示す。タイムライン側では、ロックを強制しない。ロック状態の設定は、アプリケーション側の利便性のためにのみ存在する。
構文
object.SetLocked( newVal As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- newVal
- オブジェクトの編集状態を指定する値。ゼロの場合は、オブジェクトはロック解除されて、編集できるようになる。ゼロ以外の場合は、オブジェクトはロックされて、編集できなくなる。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
オブジェクトのミュート状態を設定する。ミュートされたオブジェクトはレンダリングされないが、タイムライン内には存在したままとなる。
構文
object.SetMuted( newVal As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- newVal
- ミュート状態を指定する値。ゼロの場合は、オブジェクトはミュートされない。ゼロ以外の場合は、オブジェクトとそのすべての子はミュートされる。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
オブジェクトをミュートすると、そのオブジェクトが持つ子もすべてミュートされる。たとえば、あるトラックをミュートすると、そのトラック内のトランジション、ソース、およびエフェクトもすべてミュートされる。オブジェクトのミュートが解除されると、その子はそれぞれの前の状態 (ミュートまたはミュート解除) に戻る。
Visual Basic ではサポートされていない。
構文
object.SetPropertySetter( newVal As PropertySetter )
Visual Basic ではサポートされていない。
構文
object.SetStartStop( Start As <Unsupported variant type>, Stop As <Unsupported variant type> )
オブジェクトの親を基準として、オブジェクトの開始タイムと終了タイムを設定する。
構文
object.SetStartStop2( Start As Double, Stop As Double )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- Start
- 新しい開始タイム (秒単位)。 既存の開始タイムを維持する場合は -1。
- Stop
- 新しい終了タイム (秒単位)。 既存の終了タイムを維持する場合は -1。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次のいずれかの値が設定される場合がある。
E_INVALIDARG 無効な引数。 E_NOTIMPL 実装されていない。
注意
トラック、合成、およびグループは、このメソッドを実装しない。これらのオブジェクトでは、開始タイムは常にゼロであり、終了タイムは含まれるオブジェクトの最大の終了タイムである。
同じトラック内のソース オブジェクトで重なり合う時間を設定してはならない。そのような設定を行うと、未定義の動作が発生する場合がある。
ソース オブジェクトの場合、開始タイムと終了タイムは、メディア開始タイムおよびメディア終了タイムから独立している。これらの一方の組を変更しても、もう一方に影響はない。メディアの開始タイムと終了タイムを設定するには、AMTimelineSrc.SetMediaTimes2 メソッドを使用する。詳細については、「DirectShow 編集サービスにおける時間」を参照すること。
Visual Basic ではサポートされていない。
構文
object.SetSubObject( newVal As Unknown )
Visual Basic ではサポートされていない。
構文
object.SetSubObjectGUID( newVal As GUID )
このオブジェクトに関連付けられているサブオブジェクトの GUID を指定する。
構文
object.SetSubObjectGUIDB( newVal As String )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- newVal
- サブオブジェクトの GUID を表す文字列。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
レンダリング エンジンは、必要に応じてサブオブジェクトのインスタンスを作成する。
Visual Basic ではサポートされていない。新しいタイムライン オブジェクトを作成するには、AMTimeline.CreateEmptyNode メソッドを使用する。オブジェクトを作成した後では、そのタイプは変更できない。
構文
object.SetTimelineType( newVal As TIMELINE_MAJOR_TYPE )
アプリケーション定義の持続的データを設定する。
構文
object.SetUserData( pData As Byte, Size As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- pData
- データを保持するバイト配列への参照。
- Size
- 配列のサイズ (バイト単位)。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_OUTOFMEMORY メモリ不足。
注意
配列の最初の要素をパラメータの値として使い、pData パラメータを参照として渡す。
Dim UserData(100) As Byte ' 配列を初期化する (省略) objTimelineObject.SetUserData UserData(0), 100
オブジェクトに対するアプリケーション定義の識別子を設定する。
構文
object.SetUserID( newVal As Long )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- newVal
- 識別子を指定する値。この識別子は、アプリケーションによってのみ使用され、どのような値でもかまわない。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
オブジェクトに対するアプリケーション定義の名前を設定する。
構文
object.SetUserName( newVal As String )
パラメータ
- object
- 結果が AMTimelineObj オブジェクトになるオブジェクト式。
- newVal
- 名前を表す文字列。256 文字を超える文字列は、切り詰められることがある。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。