Windows Media Format SDK サンプル アプリケーション

[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーシンク ライターに置き換わりました。 ソース リーダーシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

この SDK で提供されるサンプル コードは、Microsoft Visual Studio 2005 のプロジェクトの形式です。 ほとんどのサンプルは C++ にありますが、ManagedWMFSDKWrapper と ManagedMetadataEdit には C# が必要です。

これらのサンプルは、Windows Media Format SDK または Windows Player SDK がインストールされていない限り機能しません。

各サンプルの使用状況情報は、各サンプル ディレクトリの readme.txt ファイルに含まれています。

Samle 説明
オーディオ DRM で保護されたファイルを含む Windows メディア ファイルを再生します。 これは GUI を介して制御され、コマンドには Play、Pause、Seek、Stop が含まれます。 ローカル ファイルまたはインターネットから読み取られたファイルを再生できます (WMVNetWrite サンプルを使用してインターネットへの出力を含む)。 メモ: このサンプルの DRM 部分は、x64 ベースのバージョンの Windows ではサポートされていません。
DRMHeader DRMHeader は、メタデータ エディターの IWMDRMEditor インターフェイスを使用して、DRM 静的ライブラリにリンクせずにファイルの DRM 属性を読み取るコンソール アプリケーションです。 メモ: このサンプルは、x64 ベースのバージョンの Windows ではサポートされていません。
DRMShow DRMShow は、IWMDRMReader::GetDRMProperty メソッドを使用して Windows Media ファイルの DRM プロパティを読み取る方法を示すコンソール アプリケーションです。このサンプルでは、IWMDRMReader::GetDRMProperty メソッドの使用と、DRM リーダーから取得できるプロパティを示します。 DRM で保護されたコンテンツのライセンスを取得する方法は示されていません。 このサンプルでは、DRM スタブ ライブラリ WMStubDRM.lib をビルドする必要があります。
メモ: このサンプルは、x64 ベースのバージョンの Windows ではサポートされていません。
Microsoft から WMStubDRM.lib を取得すると、ライブラリにアプリケーション セキュリティ レベルが割り当てられます。 受け取るライブラリのセキュリティ レベルが保護されたファイルを再生するのに十分でない場合、このサンプルではエラーが表示されます。
DirectShowInterop/DSCopy DirectShow WM ASF ライター フィルターを使用して、1 つ以上のファイルを ASF ファイルにトランスコードします。 入力ファイルには、DirectShow でサポートされている圧縮形式または圧縮されていない形式を指定できます。
DirectShowInterop/DSPlay このサンプルは、 DRM をサポートする対話型のオーディオ/ビデオ メディア ファイル プレーヤーです。 DirectShow の WM ASF リーダー フィルターを使用して、DRM 保護なしで Windows Media ファイル (ASF、WMA、WMV) を再生し、DRM を 100 以下のレベルで使用するファイルを再生します。 詳細については、サンプルのディレクトリの readme.txt を参照してください。
DirectShowInterop/DSSeekFm このサンプルでは、DirectShow WM ASF リーダー フィルターを使用して DirectShow フィルター グラフで ASF コンテンツを再生する方法と、Windows Media Format SDK でサポートを求めるフレームを使用する方法を示します。
Managed/WMFSDKWrapper このマネージド アセンブリは、この SDK の一部のメタデータ インターフェイスにアクセスするためのマネージ コード サンプルで使用されるラッパーとして機能します。
Managed/MetadataEdit この C# アプリケーションを使用して、Windows Media ファイルのメタデータを表示および編集できます。
MetaDataEdit これは、Managed MetadataEdit アプリケーションの C++ バージョンです。
ReadFromStream このコンソール アプリケーション サンプルでは、WMReader を使用して IStream からデータを読み取る方法を示します。 IStream ソースは、Windows Media Format (WMA/WMV/ASF) のファイルを使用するように実装されています。 メモ: このサンプルでは、WMReader から出てくるメディア サンプルを処理する方法は示されていません。 オーディオ/ビデオやその他の種類のメディア サンプルを処理する方法の例については、Windows Media Format SDK に含まれている AudioPlayer などの他のサンプルを参照してください。
UncompAVIToWMV このコンソール アプリケーション サンプルは、AVI ファイルを WMV ファイルに圧縮するために必要なコードを示しています。 複数の AVI ファイルからオーディオ ストリームとビデオ ストリームのサンプルをマージし、これらを同様のストリームにマージするか、ソース ストリーム プロファイルに基づいて新しいストリームを作成する方法を示します。 また、任意のストリームを作成し、マルチパス エンコードを行い、SMPTE タイム コードを追加し、DRM バージョン 1 の保護を適用する方法も示します。
WMGenProfile/exe このサンプルは、7.1 リリースから更新されています。 MFC ダイアログ アプリケーションになりました。 WMGenProfile サンプルは、WMGenProfile 静的ライブラリの使用を示しています。 また、プロファイルを作成するためのツールとしても機能します。 このツールは、Windows Media Format に精通している開発者向けです。 UI はユーザー エクスペリエンスについてテストされておらず、この情報をユーザーに提示する方法に関する推奨事項として意図されていません。
WMGenProfile/lib GenProfile ライブラリ のサンプルでは、プロファイルの作成を示します。 さまざまなストリームの種類 (オーディオ、ビデオ、スクリプト、画像、ファイル転送、Web) のメディアの種類とストリームを作成する方法を示します。 システム プロファイルを操作する方法や、システム プロファイルを Windows Media Audio および Video 9 シリーズ コーデックを指定するプロファイルに変換する方法については説明しません。
WMProp このコンソール アプリケーションでは、メタデータ エディター オブジェクトとプロファイル情報をリーダーから使用して属性を取得する方法を示します。
WMStats このコンソール アプリケーションには、閲覧者とライターの統計情報が表示されます。 WMStats の複数のインスタンスを 1 台のコンピューターで同時に使用することもできます。 1 つのインスタンスをサーバーとして起動してストリームをネットワークに送信し、2 つ目のインスタンスをクライアントとして実行して、サーバーが正しくストリーミングされていることを確認します。
WMSyncReader このコンソール アプリケーション サンプルでは、追加のスレッドを作成したりコールバックを使用したりせずに 、IWMSyncReader を使用してメディア ファイルを読み取る方法を示します。 次の機能が実装されています:圧縮または圧縮解除されたサンプルの読み取り
時間ベースのシーク
フレームベースのシーク
IStream 派生ソース
WMVAppend このコンソール アプリケーションは、入力用に 2 つの Windows Media ファイルを受け取り、最初のファイルの内容と 2 番目のファイルの内容を含む出力ファイルの作成を試みます。 このサンプルでは、2 つの入力ファイルのプロファイルを比較して、追加するのに十分に類似していることを確認します。 そうでない場合は、エラー メッセージが表示されます。 たとえば、1 つのファイルがオーディオのみであり、2 つ目がオーディオ ビデオ ファイルである場合、または 2 つのオーディオ ファイルのビット レートが異なる場合に、エラー メッセージが発生します。このサンプルでは、可変ビット レート (VBR) ソースを受け入れます。 ただし、2 つの VBR ソースのプロファイルを比較すると、2 つの VBR ストリームが同じプロファイルを使用して作成された場合でも平均ビット レートが異なるため、サンプルは平均ビット レートの差を無視します。 WMVAppend は、制約のないビット レート ベースの VBR ストリームのピーク ビット レート、または品質ベースの VBR ストリームの品質レベルを比較できません。この情報はソース ファイルに存在しないためです。 したがって、2 つのソース ファイルが同じプロファイルを使用して作成されるようにするのはユーザーの責任です。 それ以外の場合は、無効なコンテンツを作成できます。
WMVCopy このサンプルでは、WMV ファイルをコピーするために必要なコードを示します。 圧縮されたサンプルの読み取りと書き込み、ヘッダー属性とスクリプトの読み取り、ヘッダー属性の変更を行う方法を示します。
WMVNetWrite このコンソール アプリケーションは、インターネット経由で Windows メディア ファイルをストリーミングする方法を示しています。 このサンプルでは、ポートを指定する必要があります。その後、プレーヤーを使用してファイルを再生できます。
WMVRecompress このコンソール アプリケーションは、WMV ファイルを再圧縮する方法を示しています。 非圧縮サンプルの読み取り、非圧縮サンプルの書き込み、マルチパス エンコード、マルチチャネル出力、スマート再圧縮の実行を示します。

Windows Media Format SDK について

プログラミング ガイド