Profil
[Fitur yang terkait dengan halaman ini, Windows Media Format 11 SDK, adalah fitur warisan. Ini telah digantikan oleh Pembaca Sumber dan Penulis Sink. Pembaca Sumber dan Penulis Sink telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan Pembaca Sumber dan Penulis Sink alih-alih Windows Media Format 11 SDK, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Profil adalah kumpulan data yang menjelaskan konfigurasi file ASF. Minimal, profil harus berisi pengaturan konfigurasi untuk satu aliran.
Informasi streaming di profil berisi laju bit, jendela buffer, dan properti media untuk aliran. Informasi streaming untuk audio dan video menjelaskan dengan tepat bagaimana media dikonfigurasi dalam file, termasuk codec mana (jika ada) yang akan digunakan untuk memadatkan data.
Profil juga berisi informasi tentang berbagai fitur file ASF yang akan digunakan dalam file yang dibuat dengannya. Ini termasuk Pengecualian Timah, Prioritas Aliran, Berbagi Bandwidth, dan Ekstensi Unit Data.
Versi sebelumnya dari Windows Media Format SDK menyediakan profil sistem yang telah dikonfigurasi sebelumnya, yang dapat digunakan untuk membuat jenis file umum, atau sedikit diubah agar sesuai dengan kebutuhan aplikasi Anda. Profil sistem tidak didukung untuk codec Windows Media 9 Series. Ini karena jumlah jenis file "umum" telah tumbuh secara eksponensial dengan penambahan fitur baru. Diharapkan bahwa hampir setiap pembuat konten memiliki kebutuhan yang melampaui solusi sederhana yang disediakan oleh profil sistem. Anda masih dapat menggunakan profil sistem lama sebagai tempat awal. Untuk informasi selengkapnya, lihat Menggunakan Profil Sistem.
Anda harus menyediakan profil penulis untuk setiap file yang Anda tulis. Anda dapat menentukan profil yang akan digunakan dengan penulis dengan memanggil IWMWriter::SetProfile.
Data profil ada dalam beberapa bentuk berbeda yang dapat digunakan oleh Windows Media Format SDK. Informasi profil juga dapat diakses dengan beberapa cara. Hal ini dapat menyebabkan kebingungan tentang apa itu profil dan bagaimana profil tersebut digunakan.
Diagram berikut menunjukkan bagaimana data profil digunakan dalam SDK.
Data profil mengambil tiga bentuk berbeda: data yang terkandung dalam objek profil dalam aplikasi, file XML pada disk, dan data di header file ASF. Masing-masing bentuk data ini ditampilkan sebagai persegi panjang berbayang dalam diagram.
Saat mengedit profil, Anda menggunakan objek profil, yang merangkum semua data profil. Anda dapat membuat objek profil kosong dengan menggunakan objek manajer profil. Anda juga dapat menggunakan objek manajer profil untuk memuat data profil yang ada ke dalam objek profil.
Sebagian besar data profil harus ditambahkan dan dimanipulasi melalui penggunaan objek yang mewakili bagian individu profil. Ini termasuk objek konfigurasi aliran, objek pengecualian bersama, objek berbagi bandwidth, dan objek prioritas aliran. Masing-masing jenis objek ini dapat dibuat menggunakan metode di objek profil. Membuat perubahan pada objek ini tidak mempengaruhi objek profil sampai Anda menggunakan metode di objek profil untuk menyertakan data yang diperbarui dari objek lain.
Data profil disimpan di disk dalam bentuk file XML dengan ekstensi nama file .prx. Disertakan dengan Windows Media Format SDK adalah kumpulan profil yang disebut profil sistem yang mencakup jenis file ASF yang paling umum. Profil sistem disimpan dalam file bernama WMSysPr9.prx. (Perhatikan bahwa file ini sebenarnya tidak berisi profil sistem untuk Windows Media 9 Series karena konsep profil sistem tidak lagi digunakan.) Saat menyimpan profil kustom Anda sendiri, Anda harus menyimpannya ke file Anda sendiri.
Anda dapat menggunakan objek manajer profil untuk menyimpan data dari objek profil ke string teks XML. Anda kemudian dapat menggunakan fungsi I/O file apa pun yang Anda inginkan untuk menyimpan string ke file di disk.
Penulis mengambil informasi dari profil dan menggunakannya untuk membuat aliran yang masuk ke bagian data file ASF. Sebagian besar data profil disimpan di bagian header file saat file ditulis. Pada pemutaran, objek pembaca (atau objek pembaca sinkron) dapat mengakses informasi di header file. Dalam hal ini, objek baca membuat objek profil dan mengisinya dengan data dari header .
Saat Anda mengakses data profil dengan menggunakan pembaca (atau pembaca sinkron), Anda dapat membuat perubahan pada informasi profil, tetapi tidak ada cara untuk menerapkan perubahan tersebut ke file di pembaca. Anda dapat menerapkan informasi profil dari file di pembaca ke profil di penulis untuk membuat file baru dengan pengaturan yang sama dengan file di pembaca. Dalam hal ini, setiap perubahan yang Anda buat pada informasi profil sebelum mengatur profil di penulis akan tercermin dalam informasi profil yang didaftarkan oleh penulis.
Daripada membuat profil dengan menggunakan Windows Media Format SDK, Anda dapat menggunakan Editor Profil, utilitas yang disertakan dengan Windows Media Encoder. Di aplikasi pengodean Anda, gunakan metode IWMProfileManager::LoadProfileByData untuk memuat profil yang disimpan. Dalam beberapa skenario, misalnya jika Anda menggunakan sejumlah profil terbatas yang tidak pernah dimodifikasi secara dinamis, mungkin lebih nyaman menggunakan Editor Profil untuk membuat profil Anda.
Namun, jika Anda menggunakan Editor Profil, disarankan agar Anda tidak menggunakan pengaturan "Ukuran Video: Sama Seperti Input Video". Ketika kotak centang ini dicentang, Editor Profil akan membuat profil dengan tinggi dan lebar output video diatur ke nol. Ketika Windows Media Encoder menemukan profil ini, ia mengatur nilai yang benar agar sesuai dengan input videonya. Namun, Writer di Windows Media Format SDK tidak melakukannya secara otomatis, jadi Anda harus memastikan bahwa aplikasi Anda mengatur ukuran bingkai video jika profil tidak memilikinya.
Catatan Beberapa item konfigurasi aliran tidak disimpan di profil. Data dalam profil menjelaskan format file ASF yang sudah selesai. Properti media input dan data konfigurasi lain yang digunakan oleh objek penulis untuk mengonfigurasi codec tidak disimpan di profil. Ini termasuk semua properti yang diatur dengan menggunakan metode IWMPropertyVault::SetProperty .