디바이스에서 재생 목록 만들기
Windows Media 장치 관리자 SDK는 MTP 애플리케이션이 디바이스에서 재생 목록을 만들 수 있는 수단을 제공합니다. 이 유형의 재생 목록을 추상 재생 목록이라고 합니다. 디바이스에서 만든 파일에는 미디어 데이터가 없지만 재생 목록의 미디어 파일에 대한 링크를 포함하는 메타데이터만 포함되므로 추상 재생 목록이라고 합니다.
장치에서 만들 수 있는 다른 추상 항목으로는 앨범(기본적으로 커버 아트와 같은 추가 속성이 있는 재생 목록), 연락처 및 메시지가 포함됩니다.
재생 목록을 만들려면
- 대상 디바이스에 대한 IWMDMDevice3 인터페이스를 획득합니다.
- IWMDMDevice3::GetProperty를 호출하여 g_wszWMDMFormatsSupported 속성을 가져옵니다.
- 재생 목록 형식이 지원되지 않는 경우 디바이스에 재생 목록을 보내는 것을 허용하지 않고 다음 단계를 건너뜁니다. 그렇지 않으면 원하는 개체 형식과 가장 일치하는 디바이스 지원 형식 코드를 선택합니다. 제네릭 WMDM_FORMATCODE_ABSTRACTAUDIOVIDEOPLAYLIST 및 WMDM_FORMATCODE_ABSTRACTAUDIOLAYLIST 형식 코드가 가장 일반적으로 지원됩니다.
- 개체를 만들 스토리지(루트 또는 폴더)에 대한 IWMDMStorage3 인터페이스를 가져옵니다. 재생 목록 개체가 "재생 목록"이라는 최상위 폴더에 배치되는 경우 일부 디바이스가 가장 잘 작동합니다.
- IWMDMStorage3::CreateEmptyMetadataObject를 사용하여 빈 메타데이터 개체를 만듭니다.
- 이전 단계에서 가져온 IWMDMMetaData 인터페이스를 사용하여 IWMDMMetaData::AddItem 을 호출하여 선택한 형식 코드(3단계)를 스토리지 메타데이터 속성에 추가합니다.
- IWMDMStorage3 인터페이스에서 IWMDMStorageControl3 인터페이스를 가져옵니다.
- IWMDMStorageControl3::Insert3을 호출하여 선택한 스토리지에 새 재생 목록 파일을 삽입합니다. 이 파일에는 5단계에서 만들고 Insert3에 전달한 IWMDMMetaData 인터페이스가 나타내는 메타데이터가 포함되어 있습니다. 메서드는 재생 목록 파일에 대한 IWMDMStorage 인터페이스를 반환합니다. IWMDMStorage4 인터페이스를 쿼리할 수 있습니다.
- IWMDMStorage4::SetReferences를 호출하여 재생 목록에 있는 미디어 파일의 IWMDMStorage 인터페이스에 대한 참조를 만듭니다.
예제 코드는 샘플 데스크톱 애플리케이션의 _OnCreatePlaylist 함수를 참조하세요.
참고
Microsoft에서 제공하는 MTP 서비스 공급자를 사용하면 애플리케이션이 메타데이터에서 참조를 설정할 수 있습니다. 재생 목록을 구현하려면 애플리케이션이 MTP 디바이스와 통신하거나 추상 개체를 처리할 수 있는 사용자 지정 서비스 공급자를 사용해야 합니다. CE 서비스 공급자는 재생 목록 및 앨범 개체를 처리합니다.
관련 항목