IMFMediaSession::Start メソッド (mfidl.h)

メディア セッションを開始します。

構文

HRESULT Start(
  [in] const GUID        *pguidTimeFormat,
  [in] const PROPVARIANT *pvarStartPosition
);

パラメーター

[in] pguidTimeFormat

pvarStartPosition パラメーターの時刻形式を指定する GUID へのポインター。 このパラメーターは、NULL でもかまいません。 値 NULL は、GUID_NULLを渡すことと同じです。

次の時刻形式 GUID が定義されています。

意味
Guid_
プレゼンテーション時間。 pvarStartPosition パラメーターには、次のいずれかの PROPVARIANT 型が必要です。
  • VT_I8: pvarStartPosition パラメーターには、プレゼンテーションの開始位置を基準にして、開始位置が 100 ナノ秒単位で格納されます。
  • VT_EMPTY: 再生は現在の位置から開始されます。
すべてのメディア ソースでは、この時刻形式がサポートされています。
MF_TIME_FORMAT_SEGMENT_OFFSET
セグメント オフセット。 この時刻形式は、 Sequencer ソースでサポートされています。 開始時刻は、セグメント内のオフセットです。

MFCreateSequencerSegmentOffset 関数を呼び出して、pvarStartPosition パラメーターの PROPVARIANT 値を作成します。

MF_TIME_FORMAT_ENTRY_RELATIVE
メモ Windows 7 以降が必要です。
 
プレイリストエントリにスキップします。 pvarStartPosition パラメーターは、現在のエントリに対する相対的なプレイリスト エントリのインデックスを指定します。 たとえば、値 2 は 2 つのエントリをスキップします。 後方にスキップするには、負の値を渡します。 PROPVARIANT 型がVT_I4

メディア ソースでこの時刻形式がサポートされている場合、 IMFMediaSource::GetCharacteristics メソッドは次のフラグのいずれかまたは両方を返します。

  • MFMEDIASOURCE_CAN_SKIPFORWARD
  • MFMEDIASOURCE_CAN_SKIPBACKWARD

[in] pvarStartPosition

再生の開始位置を指定する PROPVARIANT へのポインター。 このパラメーターの意味とデータ型は、 pguidTimeFormat パラメーターによって示されます。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_INVALIDREQUEST
この操作は、メディア セッションの現在の状態では実行できません。
MF_E_SHUTDOWN
メディア セッションがシャットダウンされました。

注釈

このメソッドが呼び出されると、メディア セッションによってプレゼンテーション クロックが開始され、メディア サンプルの処理が開始されます。

このメソッドは非同期です。 メソッドが完了すると、メディア セッションは MESessionStarted イベントを送信します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Mfuuid.lib

こちらもご覧ください

IMFMediaSession