Compartilhar via


Usando o controle Reprodutor Multimídia do Windows em um aplicativo de console

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

Você pode criar uma instância do objeto COM Reprodutor Multimídia do Windows diretamente usando CoCreateInstance. Quando você faz isso, o objeto Player não exibe nenhuma interface do usuário. No entanto, o objeto ainda é útil para tarefas que não exigem a interface do usuário, como trabalhar com a biblioteca, reproduzir arquivos de áudio digital ou acessar propriedades do Player.

O código de exemplo a seguir mostra um programa de console simples que exibe a versão Reprodutor Multimídia do Windows em uma caixa de mensagem. O código de exemplo usa ATL para aproveitar ponteiros inteligentes e a classe de cadeia de caracteres CComBSTR .

#include "atlbase.h"
#include "atlwin.h"
#include "wmp.h"

int _tmain(int argc, _TCHAR* argv[])
{
    CoInitialize(NULL);

    HRESULT hr = S_OK;
    CComBSTR bstrVersionInfo; // Contains the version string.
    CComPtr<IWMPPlayer> spPlayer;  // Smart pointer to IWMPPlayer interface.

    hr = spPlayer.CoCreateInstance( __uuidof(WindowsMediaPlayer), 0, CLSCTX_INPROC_SERVER );

    if(SUCCEEDED(hr))
    {
        hr = spPlayer->get_versionInfo(&bstrVersionInfo);
    }

    if(SUCCEEDED(hr))
    {
        // Show the version in a message box.
        COLE2T pStr(bstrVersionInfo);
        MessageBox( NULL, (LPCSTR)pStr, _T("Windows Media Player Version"), MB_OK );
    }

    // Clean up.
    spPlayer.Release();
    CoUninitialize();

    return 0;
}

Usando o controle Reprodutor Multimídia do Windows em um programa C++