Menggunakan Skins dengan kontrol Pemutar Media Windows

[Fitur yang terkait dengan halaman ini, Pemutar Media Windows SDK, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer. MediaPlayer telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer alih-alih Pemutar Media Windows SDK, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Ketika Anda menyematkan kontrol Pemutar Media Windows dalam program C++, Anda dapat menyesuaikan antarmuka pengguna (UI) Pemutar dengan menerapkan file definisi kulit ke dalamnya. File definisi kulit adalah dokumen berbasis XML yang menentukan tata letak komponen UI standar dan dapat disesuaikan dan grafik yang menyertainya. Dengan menggunakan Microsoft JScript, Anda dapat menentukan perilaku komponen-komponen ini dan memanipulasi kontrol Pemutar Media Windows tanpa overhead sintaks C++ dan COM.

Skins menyediakan cara mudah untuk menjaga kode antarmuka pengguna dan kode program utama Anda terpisah sehingga dapat dipertahankan dan dikembangkan secara independen. Anda juga dapat menggunakan kembali kulit yang awalnya dirancang untuk digunakan oleh Player mandiri dalam mode kulit. Kode kulit yang Anda desain khusus untuk program C++ dapat berinteraksi dengan program Anda melalui objek yang dapat ditulis yang dapat disediakan program Anda.

Untuk mengaktifkan mode kulit untuk kontrol Pemutar Media Windows, program Anda harus mengimplementasikan antarmuka IWMPRemoteMediaServices. Meskipun Anda dapat menggunakan skin dengan kontrol dan remote kontrol pada saat yang sama, Anda dapat menggunakan antarmuka ini untuk mengaktifkan salah satu fitur tanpa mengaktifkan yang lain. Untuk menonaktifkan jarak jauh, cukup berikan nilai "Lokal" sebagai parameter keluar dari metode GetServiceType , dan kembalikan HRESULT E_NOTIMPL dari metode GetApplicationName .

Untuk mengalihkan kontrol Pemutar Media Windows ke mode kulit, panggil metode IWMPPlayer::p ut_uiMode, meneruskan nilai "kustom". Tentukan jalur dan nama file file definisi kulit yang akan digunakan dengan mengembalikannya dari metode IWMPRemoteMediaServices::GetCustomUIMode .

Jika Anda ingin menyediakan objek yang dapat ditulis untuk komunikasi antara kulit dan program Anda, berikan nama dan pointer ke pointer IDispatch sebagai dua parameter keluar dari metode IWMPRemoteMediaServices::GetScriptableObject . Kulit Anda kemudian dapat melakukan panggilan ke objek yang dapat ditulis dengan menggunakan nama yang ditentukan seolah-olah itu adalah atribut global yang mirip dengan atribut global pemutar .

Kulit yang diterapkan pada kontrol Pemutar Media Windows jarak jauh dapat mengakses objek PlayerApplication menggunakan atribut global lain yang disebut playerApplication. Karena properti Player.playerApplication tidak dapat diakses oleh skin, Anda harus menggunakan atribut global ini ketika Anda ingin kode kulit Anda mengelola docking dan undocking.

Sampel

Paket penyiapan SDK Pemutar Media Windows menginstal sampel yang menunjukkan penerapan kulit ke kontrol Pemutar Media Windows. Lihat sampel RemoteSkin untuk informasi selengkapnya.

Sampel

Menggunakan Kontrol Pemutar Media Windows dalam Program C++