次の方法で共有


CSourceStream.GetMediaType メソッド (Source.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは GetMediaType 、推奨されるメディアの種類を取得します。

構文

virtual HRESULT GetMediaType(
   CMediaType *pMediaType
);

パラメーター

pMediaType

メディアの種類を受け取る CMediaType オブジェクトへのポインター。

戻り値

次の表に示す HRESULT 値のいずれかを返します。

リターン コード 説明
S_OK
成功しました。
VFW_S_NO_MORE_ITEMS
インデックスが範囲外です。
E_INVALIDARG
0 未満のインデックス。
E_UNEXPECTED
予期しないエラー。

解説

このメソッドには 2 つのバージョンがあります。 1 つのバージョンが CBasePin::GetMediaType メソッドをオーバーライドし、パラメーターとしてインデックス値を受け取ります。 もう 1 つのバージョンは、1 つのメディアの種類を取得するように設計されているため、index パラメーターがありません。

単一パラメーター メソッドは、E_UNEXPECTEDを返します。 2 パラメーター メソッドは 、iPosition パラメーターが 0 であることを確認し、単一パラメーター バージョンを呼び出します。 ピンがサポートするメディアの種類の数に応じて、次のいずれかの方法をオーバーライドする必要があります。

  • ピンが 1 つのメディアの種類をサポートしている場合は、単一パラメーターバージョンをオーバーライドします。 ピンでサポートされているメディアの種類を入力します。
  • ピンで複数のメディアの種類がサポートされている場合は、2 つのパラメーター バージョンをオーバーライドします。 CSourceStream::CheckMediaType メソッドもオーバーライドします。

要件

要件
ヘッダー
Source.h (include Streams.h)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

CSourceStream クラス