Usando o controle Reprodutor Multimídia do Windows com o Microsoft Visual Studio

[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 adicionar o controle ActiveX da série Reprodutor Multimídia do Windows 9 ou posterior a um aplicativo .NET Framework por meio da Caixa de Ferramentas no Visual Studio.

Adicionando o controle Reprodutor Multimídia do Windows

Antes de criar um novo projeto, verifique se a versão mais recente do Reprodutor Multimídia do Windows e do SDK do Reprodutor Multimídia do Windows está instalada no computador.

Inicie o Visual Studio e crie um novo projeto.

No Visual Studio, abra a Caixa de Ferramentas.

Se Reprodutor Multimídia do Windows não aparecer na parte Componentes da Caixa de Ferramentas, faça o seguinte:

  1. Clique com o botão direito do mouse na Caixa de Ferramentas e selecione Escolher Itens. Isso abre a caixa de diálogo Personalizar Caixa de Ferramentas .

  2. Na guia Componentes COM, selecione Reprodutor Multimídia do Windows.

    Se Reprodutor Multimídia do Windows não aparecer na lista, clique em Procurar e abra Wmp.dll, que deve estar na pasta Windows\System32.

  3. Clique em OK. O controle Reprodutor Multimídia do Windows será colocado na guia Caixa de Ferramentas atual.

Agora você pode selecionar Reprodutor Multimídia do Windows na Caixa de Ferramentas e adicioná-la a um formulário.

O Visual Studio fornece ao controle Reprodutor Multimídia do Windows um nome padrão, como "axWindowsMediaPlayer1". Talvez você queira alterar o nome para algo mais facilmente lembrado, como "Player".

Adicionar o controle Reprodutor Multimídia do Windows da Caixa de Ferramentas também adiciona referências a duas bibliotecas criadas pelo Visual Studio, AxWMPLib e WMPLib. Você pode encontrá-los no Gerenciador de Soluções em Referências.

Para facilitar o uso dos objetos no namespace Player, você deve incluir o namespace nas diretivas using ou imports de seus arquivos, da seguinte maneira:

using WMPLib;
imports WMPLib

A diretiva garante que você possa consultar objetos player sem qualificar totalmente seus nomes.

Observação

O controle Reprodutor Multimídia do Windows é um objeto AxWindowsMediaPlayer do namespace AxWMPLib. No entanto, a classe AxWindowsMediaPlayer usa tipos de dados, interfaces e outros elementos do namespace WMPLib .

 

Configurando a visibilidade do controle

Quando você adicionar pela primeira vez o controle Reprodutor Multimídia do Windows a um formulário, ele ficará visível. Se você não quiser usar a imagem visível do Player em seu aplicativo, oculte o Player padrão definindo qualquer uma das seguintes propriedades:

Propriedade Valor
uiMode "invisível" (consulte Player.uiMode.)
Visível "false"
Size.Width 0
Size.Height 0

 

Você pode definir essas propriedades no código ou na janela Propriedades quando o controle Reprodutor Multimídia do Windows é selecionado no designer de formulários.

Compatibilidade do modelo de objeto do controle

O modelo de objeto para o controle de Reprodutor Multimídia do Windows é basicamente o mesmo no .NET Framework que no código e no script não gerenciados. No entanto, há diferenças na forma como os elementos são expostos:

  • A maioria dos objetos é exposta sob o nome de sua interface COM subjacente. Por exemplo, o objeto Playlist é exposto como IWMPPlaylist.
  • Algumas interfaces têm versões posteriores. Por exemplo, IWMPMedia recebeu funcionalidade adicional em IWMPMedia2 e IWMPMedia3. Se você declarar um objeto como IWMPMedia, geralmente terá acesso à funcionalidade de todas as versões da interface. No entanto, o IntelliSense® não reconhecerá os métodos ou propriedades das interfaces de versão posterior e o editor do .NET do Visual Basic não corrigirá automaticamente o uso de maiúsculas. Para obter o benefício completo do IntelliSense e de outros recursos do Visual Studio, declare o objeto usando a versão mais recente da interface, como IWMPMedia3.
  • Não há propriedades indexadas (C#) ou propriedades padrão (Visual Basic .NET). Por exemplo, para recuperar um Playlist.item, você deve chamar o método IWMPlaylist.get_Item acessador em C# ou recuperar a propriedade IWMPlayist.Item no Visual Basic .NET.
  • Devido a um conflito de nomenclatura entre a propriedade Reprodutor Multimídia do Windows Controls e a propriedade Controls exposta por cada controle, a versão player dessa propriedade é chamada CtlControls no contexto do controle ActiveX. (No entanto, esse não é o caso quando você cria o Player programaticamente em vez de como um controle ActiveX.)

Use o Pesquisador de Objetos no Visual Studio para localizar os nomes de API corretos para métodos e objetos nos namespaces AxWMPLib e WMPLib .

Distribuindo o aplicativo

Ao distribuir seu aplicativo, instale AxInterop.WMPLib.dll e Interop.WMPLib.dll na pasta do aplicativo. Você também precisará verificar se a versão de Reprodutor Multimídia do Windows necessária está instalada no computador do usuário.

Criando o controle de Reprodutor Multimídia do Windows programaticamente

Inserindo o controle Reprodutor Multimídia do Windows em uma solução C#

Inserindo o controle Reprodutor Multimídia do Windows em uma solução .NET do Visual Basic