IMFRateControl::SetRate メソッド (mfidl.h)

再生速度を設定します。

構文

HRESULT SetRate(
  [in] BOOL  fThin,
  [in] float flRate
);

パラメーター

[in] fThin

TRUE の場合、メディア ストリームは間引きされます。 それ以外の場合、ストリームは間引きされません。 メディア ソースとデマルチプレクサーの場合、このパラメーターが TRUE の場合、オブジェクトはストリームをシンする必要があります。 デコーダーやマルチプレクサーなどのダウンストリーム変換の場合、このパラメーターは有益です。入力ストリームが間引かれていることをオブジェクトに通知します。 詳細については、「 レート制御について」を参照してください。

[in] flRate

要求された再生速度。 正の値は前方再生を示し、負の値は逆再生を示し、ゼロはスクラブを示します (ソースは 1 つのフレームを提供します)。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_REVERSE_UNSUPPORTED
オブジェクトは逆再生をサポートしていません。
MF_E_THINNING_UNSUPPORTED
オブジェクトは間引きをサポートしていません。
MF_E_UNSUPPORTED_RATE
オブジェクトは、要求された再生速度をサポートしていません。
MF_E_UNSUPPORTED_RATE_TRANSITION
実行中にオブジェクトを新しいレートに変更することはできません。

解説

メディア セッションは、現在の再生状態に応じて、レート境界間の一部の遷移を防ぎます。

再生状態 転送/反転 前方/ゼロ Reverse/Zero
実行中 いいえ いいえ いいえ
一時停止 いいえ はい いいえ
停止済み はい はい はい
 

遷移がサポートされていない場合、メソッドは MF_E_UNSUPPORTED_RATE_TRANSITIONを返します。

メディア ソースが SetRate の呼び出しを完了すると、 MESourceRateChanged イベントが送信されます 。 他のパイプライン コンポーネントでは、このイベントは送信されません。

メディア ソースがシン再生と非シン再生を切り替えた場合、ストリームは MEStreamThinMode イベントを送信して遷移を示します。 メディア ソースからのイベントは、メディア ストリームからのイベントと同期されません。 MESourceRateChanged イベントを受け取った後も、ストリームがシンモードまたは非シンモードに切り替える前にキューに入れられていたサンプルを受け取ることができます。 MEStreamThinMode イベントは、遷移が発生するストリーム内の正確なポイントをマークします。

メディア セッションが SetRate の呼び出しを完了すると、 MESessionRateChanged イベントが送信されます

要件

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

関連項目

メディア セッションで再生速度を設定する方法

IMFRateControl