次の方法で共有


デバイスでプレイリストを作成する

Windows Media Device Manager SDK は、MTP アプリケーションがデバイス上にプレイリストを作成するための手段を提供します。 デバイスで作成されたファイルにはメディア データは含まれず、プレイリスト内のメディア ファイルへのリンクを保持するメタデータのみが含まれているため、この種類のプレイリストは 抽象 プレイリストと呼ばれます。

デバイスで作成できるその他の抽象項目には、アルバム (基本的にカバー アートなどの追加のプロパティを含むプレイリスト)、連絡先、メッセージが含まれます。

プレイリスト を作成するには

  1. ターゲット デバイスへの IWMDMDevice3 インターフェイスを取得します。
  2. IWMDMDevice3::GetProperty呼び出して、g_wszWMDMFormatsSupported プロパティを取得します。
  3. プレイリスト形式がサポートされていない場合は、デバイスへのプレイリストの送信を禁止し、次の手順をスキップします。 それ以外の場合は、目的のオブジェクトの種類に最も近いデバイスでサポートされる形式コードを選択します。 一般的なWMDM_FORMATCODE_ABSTRACTAUDIOVIDEOPLAYLISTおよびWMDM_FORMATCODE_ABSTRACTAUDIOLAYLIST形式コードは、最も一般的にサポートされています。
  4. オブジェクトを作成するストレージ (ルートまたはフォルダー) の IWMDMStorage3 インターフェイスを取得します。 プレイリスト オブジェクトが "Playlists" という名前の最上位フォルダーに配置されている場合、一部のデバイスは最適に動作します。
  5. IWMDMStorage3::CreateEmptyMetadataObjectを使用して、空のメタデータ オブジェクトを作成します。
  6. 前の手順で取得した IWMDMMetaData インターフェイスを使用して、IWMDMMetaData::AddItem を呼び出して、選択したフォーマット コード (手順 3) をストレージ メタデータ プロパティに追加します。
  7. IWMDMStorage3 インターフェイスから IWMDMStorageControl3 インターフェイスを取得します。
  8. IWMDMStorageControl3::Insert3 を呼び出して、選択したストレージに新しいプレイリスト ファイルを挿入します。 このファイルには、手順 5 で作成し、Insert3に渡した IWMDMMetaData インターフェイスによって表されるメタデータが含まれています。 このメソッドは、プレイリスト ファイルの IWMDMStorage インターフェイスを返します。IWMDMStorage4 インターフェイスを照会できます。
  9. IWMDMStorage4::SetReferences呼び出して、プレイリスト内のメディア ファイルの IWMDMStorage インターフェイスへの参照を作成します。

コード例については、サンプル デスクトップ アプリケーションの_OnCreatePlaylist関数を参照してください。

手記

Microsoft 提供の MTP サービス プロバイダーを使用すると、アプリケーションはメタデータに参照を設定できます。 プレイリストを実装するには、アプリケーションが MTP デバイスと通信しているか、抽象オブジェクトを処理できるカスタム サービス プロバイダーを使用している必要があります。 CE サービス プロバイダーは、プレイリストオブジェクトとアルバムオブジェクトを処理します。

 

デバイスにファイルを書き込む