デバイスでのプレイリストの作成
Windows Media デバイス マネージャー SDK は、MTP アプリケーションがデバイス上にプレイリストを作成するための手段を提供します。 デバイス上に作成されたファイルにはメディア データは含まれないが、プレイリスト内のメディア ファイルへのリンクを保持するメタデータのみが含まれているため、この種類のプレイリストは 抽象 プレイリストと呼ばれます。
デバイスで作成できるその他の抽象的な項目には、アルバム (基本的にはカバー アートなどの追加のプロパティを含むプレイリスト)、連絡先、メッセージが含まれます。
プレイリストを作成するには
- ターゲット デバイスへの IWMDMDevice3 インターフェイスを取得します。
- IWMDMDevice3::GetProperty を呼び出して、g_wszWMDMFormatsSupported プロパティを取得します。
- 再生リスト形式がサポートされていない場合は、デバイスへのプレイリストの送信を禁止し、次の手順をスキップします。 それ以外の場合は、目的のオブジェクトの種類に最も近いデバイスでサポートされる形式コードを選択します。 一般的なWMDM_FORMATCODE_ABSTRACTAUDIOVIDEOPLAYLISTとWMDM_FORMATCODE_ABSTRACTAUDIOLAYLIST形式コードは、最も一般的にサポートされています。
- オブジェクトを作成するストレージ (ルートまたはフォルダー) の IWMDMStorage3 インターフェイスを取得します。 一部のデバイスは、プレイリスト オブジェクトが "Playlists" という名前の最上位フォルダーに配置されている場合に最適に動作します。
- IWMDMStorage3::CreateEmptyMetadataObject を使用して、空のメタデータ オブジェクトを作成します。
- 前の手順で取得した IWMDMMetaData インターフェイスを使用して 、IWMDMMetaData::AddItem を呼び出して、選択した書式コード (手順 3) をストレージ メタデータ プロパティに追加します。
- IWMDMStorage3 インターフェイスから IWMDMStorageControl3 インターフェイスを取得します。
- IWMDMStorageControl3::Insert3 を呼び出して、選択したストレージに新しいプレイリスト ファイルを挿入します。 このファイルには、手順 5 で作成し、Insert3 に渡した IWMDMMetaData インターフェイスによって表されるメタデータが含まれています。 メソッドは、プレイリスト ファイルの IWMDMStorage インターフェイスを返します。 IWMDMStorage4 インターフェイスのクエリを実行できます。
- IWMDMStorage4::SetReferences を呼び出して、プレイリスト内のメディア ファイルの IWMDMStorage インターフェイスへの参照を作成します。
コード例については、 サンプル デスクトップ アプリケーションの _OnCreatePlaylist 関数を参照してください。
注意
Microsoft 提供の MTP サービス プロバイダーを使用すると、アプリケーションでメタデータ内の参照を設定できます。 プレイリストを実装するには、アプリケーションが MTP デバイスと通信しているか、抽象オブジェクトを処理できるカスタム サービス プロバイダーを使用している必要があります。 CE サービス プロバイダーは、プレイリストオブジェクトとアルバムオブジェクトを処理します。
関連トピック