Membaca Nilai Atribut

[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.]

Atribut yang dapat Anda temukan di pustaka dan dalam file Windows Media memiliki nama yang telah ditentukan sebelumnya. Anda dapat menulis kode yang mengambil nilai satu atribut dengan meneruskan nama atribut tersebut ke Media. getItemInfo atau Media. getItemInfoByType. Anda juga dapat menulis kode yang mengambil nilai semua atribut dalam file atau item.

Contoh C# berikut mengambil nilai atribut Judul dan menampilkannya dalam kotak pesan. Dalam contoh ini, objek Pemutar didefinisikan sebagai axWMPLib.AxWindowsMediaPlayer Player.

IWMPMedia media;
string strAttribValue = "";

// Initialize the media object
media = Player.currentMedia;

// Retrieve the object's Title attribute
strAttribValue = media.getItemInfo("Title");

// Display the title
if (strAttribValue != "")
{
    MessageBox.Show("Current title: " + strAttribValue);
}

Dalam panggilan ke getItemInfoByType, parameter kedua adalah string yang menentukan bahasa. Jika Anda meneruskan string kosong seperti yang ditunjukkan dalam contoh ini, metode mengambil nilai dalam bahasa default. Untuk informasi tentang parameter ketiga, lihat Atribut dengan Beberapa Nilai.

Contoh C# berikut mengambil nilai untuk atribut tertentu dalam item media saat ini. Ini mengembalikan nilai-nilai ini sebagai string yang dibatasi titik koma. Perhatikan bahwa untuk atribut yang direpresentasikan sebagai objek, seperti WM/Lyrics_Synchronised, WM/Picture, dan WM/UserWebURL, fungsi mengembalikan string kosong.

private string getAttributeValues(string strAttrName, IWMPMedia3 media)
{
    string strAttrValue = "";
    int iAttrCount = 0;

    if (media != null)
    {
        // Retrieve the count of values for this attribute
        iAttrCount = media.getAttributeCountByType(strAttrName, "");

        // Retrieve the values
        for (int i = 0; i < iAttrCount; i++)
        {
            strAttrValue += media.getItemInfoByType(strAttrName, "", i);
            strAttrValue += ";";
        }
    }

    // Return the resulting string
    return strAttrValue;
}

Argumen ketiga yang diteruskan ke metode getItemInfoByType adalah indeks atribut tertentu dalam sekumpulan atribut dengan nama yang sama.

Anda dapat menggunakan kode serupa untuk mengambil atribut yang memiliki nama unik. Dalam kasus tersebut, getAttributeCountByType mengembalikan 1. Dalam contoh yang ditunjukkan sebelumnya, panggilan ke getItemInfoByType hanya akan dijalankan sekali.

Mengubah Nilai Atribut

Atribut Item Media

Objek Media

Membaca Nilai Atribut dari CD atau DVD