Microsoft DirectX 8.0 |
Microsoft® DirectShow 編集サービス (DES) のソースの操作とプロパティの設定を行うメソッドを提供する。AMTimelineSrc オブジェクトは、メディア ソースの 1 つのストリームから取得されたクリップを表している。
メディア開始タイムとメディア終了タイムを設定することにより、ソース ファイル内のデータの一部分を使用できる。この 2 つの値は、元のメディア ソースを基準として、AMTimelineSrc オブジェクトの始まりと終わりを指定する。メディア タイムは、タイムライン上でのオブジェクトの開始タイムおよび終了タイムとは異なる場合があり、速度を変えた再生 (オーディオ ソースではピッチ シフト) が可能である。
メソッド
FixMediaTimes Visual Basic ではサポートされていない。 FixMediaTimes2 指定されたタイム値を、出力フレーム レートによって定義される最も近いフレーム境界に丸める。 GetDefaultFPS ソース オブジェクトのデフォルトのフレーム レートを取得する。 GetMediaLength Visual Basic ではサポートされていない。 GetMediaLength2 このオブジェクトのメディア長を取得する。 GetMediaName このオブジェクトが表すソース ファイルの名前を取得する。 GetMediaTimes Visual Basic ではサポートされていない。 GetMediaTimes2 メディアの開始タイムと終了タイムを取得する。 GetStreamNumber ソース オブジェクトの現在のストリーム番号を取得する。 GetStretchMode 伸縮モードを取得する。 IsNormalRate クリップが作成時の再生レートで再生されるかどうかを示す。 ModifyStopTime Visual Basic ではサポートされていない。 ModifyStopTime2 終了タイムを設定する。 SetDefaultFPS ソース オブジェクトのデフォルトのフレーム レートを設定する。 SetMediaLength Visual Basic ではサポートされていない。 SetMediaLength2 ソース ファイルの時間幅を指定する。 SetMediaName ソース ファイルの名前を指定する。 SetMediaTimes Visual Basic ではサポートされていない。 SetMediaTimes2 メディアの終了タイムと開始タイムを設定する。 SetStretchMode 伸縮モードを設定する。 SetStreamNumber ソース ファイルから読み取るストリームを指定する。 SpliceWithNext AMTimelineSrc オブジェクトを別の AMTimelineSrc オブジェクトに結合する。
Visual Basic ではサポートされていない。
構文
object.FixMediaTimes( pStart As <Unsupported variant type>, pStop As <Unsupported variant type> )
指定されたタイム値を、出力フレーム レートによって定義される最も近いフレーム境界に丸める。通常、アプリケーションでこのメソッドを呼び出す必要はない。
構文
object.FixMediaTimes2( pStart As Double, pStop As Double )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- pStart
- 開始タイム (秒単位)。呼び出しが成功した場合、この変数には丸められた時間が設定される。
- pStop
- 終了タイム (秒単位)。呼び出しが成功した場合、この変数には丸められた時間が設定される。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
このメソッドは AMTimelineObj.FixTimes2 メソッドと似ているが、このメソッドではメディア タイムとタイムライン タイムの元の比率が維持される。最も近いフレーム境界に時間を丸めることにより、この比が変化することがある。
ソース オブジェクトのデフォルトのフレーム レートを取得する。レンダリング エンジンが元のソースからフレーム レートを特定できない場合、この値が使用される。
構文
object.GetDefaultFPS( pFPS As Double )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- pFPS
- デフォルトのフレーム レート (毎秒のフレーム数) を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
ファイル フォーマットでフレーム レートが指定されている場合は、デフォルトのフレーム レートは必要ない。これは、オーディオおよびビデオのフォーマットの場合に当てはまる。
ソースがビットマップまたは JPEG イメージの場合、レンダリング エンジンはそれをデバイスに依存しないビットマップ (DIB) シーケンスの最初のイメージとして使用し、フレーム レートはデフォルトのフレーム レートを使用する。DIB シーケンスではなくスタティック イメージをレンダリングするには、デフォルトのフレーム レートを 0 に設定する。
ソースが GIF の場合は、フレーム レートを設定してはならない。アニメーション GIF の場合は、GIF ファイルが各イメージ間の遅延を指定する。
Visual Basic ではサポートされていない。
構文
object.GetMediaLength( pLength As <Unsupported variant type> )
このオブジェクトのメディア長を取得する。
構文
object.GetMediaLength2( pLength As Double )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- pLength
- メディア長 (秒単位) を受け取る変数。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_NOTDETERMINED このオブジェクトにメディア時間は設定されていない。
参照
このオブジェクトが表すソース ファイルの名前を取得する。
構文
object.GetMediaName() As String
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
戻り値
ソース ファイルの名前を返す。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_OUTOFMEMORY メモリ不足。
Visual Basic ではサポートされていない。
構文
object.GetMediaTimes( pStart As <Unsupported variant type>, pStop As <Unsupported variant type> )
メディアの開始タイムと終了タイムを取得する。
構文
object.GetMediaTimes2( pStart As Double, pStop As Double )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- pStart
- メディアの開始タイム (秒単位) を受け取る変数。
- pStop
- メディアの終了タイム (秒単位) を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
メディアの時間は、元のメディア ファイルを基準とする。詳細については、「DirectShow 編集サービスにおける時間」を参照すること。
ソース オブジェクトの現在のストリーム番号を取得する。
構文
object.GetStreamNumber( pVal As Long )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- pVal
- ストリーム番号を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
伸縮モードを取得する。伸縮モードは、ビデオ ソースのサイズが出力ディメンジョンと一致しない場合の、ビデオ ソースのレンダリング方法を指定する。
構文
object.GetStretchMode( pnStretchMode As Long )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- pnStretchMode
- 次のいずれかの値を受け取る変数。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
クリップが作成時の再生レートで再生されるかどうかを示す。
構文
object.IsNormalRate( pVal As Long )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- pVal
- クリップのレンダリング方法を示す値を受け取る変数。ゼロ以外の場合は、クリップは通常のレートで再生される。ゼロの場合は、通常とは異なる速度で再生される。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
クリップの再生レートは、タイムライン タイムを基準とするメディアの開始タイムと終了タイムによって決まる。
再生レート = (メディア終了タイム - メディア開始タイム) / (タイムライン終了タイム - タイムライン開始タイム)この比が 1 に等しい場合、クリップは作成時の速度で再生される。そうでない場合は、通常とは異なる速度で再生される。詳細については、「DirectShow 編集サービスにおける時間」を参照すること。
Visual Basic ではサポートされていない。
構文
object.ModifyStopTime( Stop As <Unsupported variant type> )
終了タイムを設定する。
構文
object.ModifyStopTime2( Stop As Double )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- Stop
- 新しい終了タイム (秒単位)。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_INVALIDARG 指定された時間が無効である。
ソース オブジェクトのデフォルト フレーム レートを設定する。
構文
object.SetDefaultFPS( FPS As Double )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- FPS
- デフォルトのフレーム レート (毎秒のフレーム数)。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_INVALIDARG 指定されたフレーム レートが、ゼロより小さい。
注意
レンダリング エンジンが元のソース ファイルからフレーム レートを特定できない場合、この値が使用される。
このメソッドは、定義済みのフレーム レートを持たないソース ファイルに対してのみ呼び出す。ビットマップおよび JPEG ファイルの場合、デフォルト フレーム レートはゼロであり、それによりソースはスティル イメージとしてレンダリングされる。イメージを DIB シーケンスの最初のフレームとして使用するには、フレーム レートをゼロより大きな値に設定する。
Visual Basic ではサポートされていない。
構文
object.SetMediaLength( Length As <Unsupported variant type> )
ソース ファイルの時間幅を指定する。このメソッドは SetMediaLength メソッドと同じ機能だが、パラメータとして REFTIME の値をとる。
構文
object.SetMediaLength2( Length As Double )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- Length
- メディア長 (秒単位)。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
メディア終了タイムを設定する前にメディア長を設定することにより、潜在的なレンダリング エラーを回避できる。メディア終了タイムを設定すると、DES はそれをメディア長と付き合わせてチェックする。
このメソッドは Length パラメータを検証しないが、その値はソース ファイルの実際の時間幅と等しくなければならない。ソース ファイルの時間幅は、IMediaDet.StreamLength プロパティから取得する。
ソース ファイルの名前を指定する。
構文
object.SetMediaName( newVal As String )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- newVal
- メディア ファイルの名前を指定する文字列。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
Visual Basic ではサポートされていない。
構文
object.SetMediaTimes( Start As <Unsupported variant type>, Stop As <Unsupported variant type> )
メディアの終了タイムと開始タイムを設定する。
構文
object.SetMediaTimes2( Start As Double, Stop As Double )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- Start
- メディア開始タイム (秒単位)。
- Stop
- メディア終了タイム (秒単位)。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
注意
メディア タイムは、元のメディア ファイルを基準とするメディア終了タイムとメディア開始タイムである。ビデオ ソースまたはオーディオ ソースをタイムラインに追加するときは、必ずメディア タイムを設定する。設定しないと、レンダリングで問題が発生する場合がある。終了タイムは、開始タイムより大きな値でなければならない。
ビデオ ソースからスティル フレームを使用するには、開始タイムから小数点以下の値 (たとえば 100 ナノ秒) だけ大きい終了タイムを設定する。開始タイムと終了タイムを同じ値に設定すると、レンダリング エラーが発生する。
タイムラインの時間幅がメディアの時間幅と一致しない場合は、それに合わせてソースが伸縮する。これにより、クリップの再生は、作成時とは異なるレートで行われることになる (オーディオ ソースでは、ピッチ シフトが発生する)。詳細については、「DirectShow 編集サービスにおける時間」を参照すること。
ソース ファイルの時間幅は、SetMediaLength メソッドを呼び出すことにより指定できる。メディア終了タイムが時間幅を超える場合、DES は終了タイムを繰り上げる。
ソース ファイルから読み取るストリームを指定する。
構文
object.SetStreamNumber( Val As Long )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- Val
- ストリーム番号。 親グループの、一致するメディア タイプのストリームのセットから指定する。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次の値が設定される場合がある。
E_INVALIDARG Val パラメータの値がゼロより小さい。
注意
Val パラメータは、親グループのメディア タイプに一致するストリームのセットにおけるストリーム番号を指定する。 これは、ソース ファイルのストリームのセット全体における番号ではない。たとえば、2 つのビデオ ストリームと 2 つのオーディオ ストリームがファイルにあるものとすて、AMTimelineSrc オブジェクトがビデオ グループの中にある場合は、Val に 0 を設定すると、最初のビデオ ストリームが選択される。呼び出し元が有効なストリーム番号を指定しなければならない。
ストリーム番号のデフォルトはゼロである。
伸縮モードを設定する。伸縮モードは、ビデオ ソースのサイズが出力ディメンジョンと一致しない場合の、ビデオ ソースのレンダリング方法を指定する。
構文
object.SetStretchMode( nStretchMode As Long )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- nStretchMode
- 現在の伸縮モードを示すフラグ。次のいずれかの値でなければならない。
エラー コード
メソッドでの処理が失敗すると、エラーが発生する。
AMTimelineSrc オブジェクトを別の AMTimelineSrc オブジェクトに結合する。
構文
object.SpliceWithNext( pNext As AMTimelineObj )
パラメータ
- object
- 結果が AMTimelineSrc オブジェクトになるオブジェクト式。
- pNext
- 現在のソースに結合する AMTimelineObj オブジェクト。
エラー コード
メソッドでの処理が失敗するとエラーが発生し、Err.Number には次のいずれかの値が設定される場合がある。
E_INVALIDARG 無効な引数。 E_NOINTERFACE pNext パラメータによって指定されたオブジェクトがソース オブジェクトではない。
注意
現在の実装では、このメソッドは pNext 上のエフェクトは破棄する。
このメソッドを正しく動作させるには、pNext は現在のソース オブジェクトのフレームに一致していなければならない。
- 同じソース ファイルを共有していなければならない。
- メディア開始タイムが、現在のソースのメディア終了タイムと等しくなければならない。
- 再生レートが同一でなければならない。再生レートは、メディア時間幅をタイムライン時間幅で割った値である。