Valores de atributo de leitura

[O recurso associado a esta página, Reprodutor Multimídia do Windows SDK, é um recurso herdado. Foi substituído pelo MediaPlayer. O MediaPlayer foi otimizado para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o MediaPlayer em vez de Reprodutor Multimídia do Windows SDK, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Os atributos que você pode encontrar na biblioteca e nos arquivos do Windows Media têm nomes predefinidos. Você pode escrever um código que recupera o valor de um atributo passando o nome desse atributo para Mídia. getItemInfo ou Media. getItemInfoByType. Você também pode escrever um código que recupera os valores de todos os atributos em um arquivo ou item.

O exemplo de C# a seguir recupera o valor do atributo Title e o exibe em uma caixa de mensagem. Neste exemplo, o objeto Player foi definido como 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);
}

Na chamada para getItemInfoByType, o segundo parâmetro é uma cadeia de caracteres que especifica o idioma. Se você passar uma cadeia de caracteres vazia conforme mostrado neste exemplo, o método recuperará o valor no idioma padrão. Para obter informações sobre o terceiro parâmetro, consulte Atributos com vários valores.

O exemplo de C# a seguir recupera os valores de um determinado atributo no item de mídia atual. Ele retorna esses valores como uma cadeia de caracteres delimitada por ponto e vírgula. Observe que, para atributos representados como objetos, como WM/Lyrics_Synchronised, WM/Picture e WM/UserWebURL, a função retorna uma cadeia de caracteres vazia.

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

O terceiro argumento passado para o método getItemInfoByType é o índice de um atributo específico em um conjunto de atributos com o mesmo nome.

Você pode usar código semelhante para recuperar atributos que têm nomes exclusivos. Nesses casos, getAttributeCountByType retorna 1. No exemplo mostrado anteriormente, a chamada para getItemInfoByType seria executada apenas uma vez.

Alterando valores de atributo

Atributos de item de mídia

Objeto Media

Lendo valores de atributo de um CD ou DVD