Share via


Lettura dei valori degli attributi

[La funzionalità associata a questa pagina, Lettore multimediale Windows SDK, è una funzionalità legacy. È stato sostituito da MediaPlayer. MediaPlayer è stato ottimizzato per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer invece di Lettore multimediale Windows SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Gli attributi che puoi trovare nella libreria e nei file di Windows Media hanno nomi predefiniti. È possibile scrivere codice che recupera il valore di un attributo passando il nome di tale attributo a Media. getItemInfo o Media. getItemInfoByType. È anche possibile scrivere codice che recupera i valori di tutti gli attributi in un file o in un elemento.

L'esempio C# seguente recupera il valore dell'attributo Title e lo visualizza in una finestra di messaggio. In questo esempio l'oggetto Player è stato definito come 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);
}

Nella chiamata a getItemInfoByType il secondo parametro è una stringa che specifica la lingua. Se si passa una stringa vuota come illustrato in questo esempio, il metodo recupera il valore nella lingua predefinita. Per informazioni sul terzo parametro, vedere Attributi con più valori.

Nell'esempio C# seguente vengono recuperati i valori per un attributo specificato nell'elemento multimediale corrente. Restituisce questi valori come stringa delimitata da punto e virgola. Si noti che per gli attributi rappresentati come oggetti, ad esempio WM/Lyrics_Synchronised, WM/Picture e WM/UserWebURL, la funzione restituisce una stringa vuota.

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;
}

Il terzo argomento passato al metodo getItemInfoByType è l'indice di un particolare attributo in un set di attributi con lo stesso nome.

È possibile usare codice simile per recuperare attributi con nomi univoci. In questi casi , getAttributeCountByType restituisce 1. Nell'esempio illustrato in precedenza, la chiamata a getItemInfoByType verrebbe eseguita una sola volta.

Modifica dei valori degli attributi

Attributi degli elementi multimediali

Oggetto Media

Lettura dei valori degli attributi da un CD o UN DVD