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

Para usar a funcionalidade de Reprodutor Multimídia do Windows em um aplicativo C#, primeiro adicione o componente a um formulário, conforme descrito em Usar o controle Reprodutor Multimídia do Windows com Microsoft Visual Studio

As seções a seguir descrevem como criar um aplicativo que reproduz vídeo e usa botões personalizados de reprodução e parada.

Adicionar a janela de vídeo

Adicione o controle Reprodutor Multimídia do Windows ActiveX a um formulário. Redimensione o controle e coloque-o onde você deseja que a janela de vídeo apareça.

Selecione o controle Reprodutor Multimídia do Windows e altere a propriedade uiMode para "none". Essa configuração oculta os controles de interface do usuário. Quando o usuário reproduzir um vídeo, ele aparecerá na janela. Para conteúdo somente áudio, uma visualização será exibida.

Adicionar dois botões e ajustar o formulário

Agora, adicione dois botões ao formulário. Selecione o primeiro botão e altere a propriedade Texto para "Reproduzir". Selecione o segundo botão e altere sua propriedade Text para "Parar".

Adicionar o Código de Reprodução

Clique duas vezes no botão Reproduzir para revelar a janela Código. Em C#, o seguinte código será exibido:

private void button1_Click(object sender, System.EventArgs e)
{

}

Adicione esta linha entre as duas chaves:

axWindowsMediaPlayer1.URL = @"c:\mediafile.wmv";

No exemplo de código anterior, "axWindowsMediaPlayer1" é o nome padrão do controle Reprodutor Multimídia do Windows e "c:\mediafile.wmv" é um espaço reservado para o nome do item de mídia que você deseja reproduzir. Qualquer caminho de arquivo válido pode ser usado. O símbolo @ instrui o compilador a não interpretar as barras invertidas como caracteres de escape.

Se você tiver adicionado o conteúdo de mídia digital do SDK do Reprodutor Multimídia do Windows à biblioteca no Reprodutor Multimídia do Windows, poderá usar esse código em vez disso:

axWindowsMediaPlayer1.currentPlaylist = axWindowsMediaPlayer1.mediaCollection.getByName("mediafile");

Como a propriedade autoStart é verdadeira por padrão, Reprodutor Multimídia do Windows começará a ser reproduzida quando você definir a propriedade currentPlaylist ou URL.

Adicionar o código stop

Clique duas vezes no botão Parar para revelar a janela Código. Em C#, o seguinte código será exibido:

private void button2_Click(object sender, System.EventArgs e)
{

}

Adicione esta linha entre as duas chaves:

axWindowsMediaPlayer1.Ctlcontrols.stop();

Observação

O wrapper de código gerenciado para o controle Reprodutor Multimídia do Windows expõe o objeto Controls como Ctlcontrols para evitar colisão com a propriedade Controls herdada de System.Windows. Forms.Control.

 

Adicionar tratamento de erros

O controle Reprodutor Multimídia do Windows não gera uma exceção quando encontra um erro como uma URL inválida. Em vez disso, ele sinaliza um evento. Seu aplicativo deve lidar com eventos de erro enviados pelo Player.

Para criar um manipulador de eventos, primeiro abra o janela Propriedades para o controle Reprodutor Multimídia do Windows. Na lista de eventos, clique duas vezes em MediaError. O código a seguir é exibido:

private void Player_MediaError(object sender, _WMPOCXEvents_MediaErrorEvent e)
{
}

O código a seguir pode ser inserido no método para fornecer o mínimo de capacidade de tratamento de erros. Observe que as informações sobre o erro podem ser recuperadas do argumento _WMPOCXEvents_MediaErrorEvent .

try
// If the Player encounters a corrupt or missing file, 
// show the hexadecimal error code and URL.
{
    IWMPMedia2 errSource = e.pMediaObject as IWMPMedia2;
    IWMPErrorItem errorItem = errSource.Error;
    MessageBox.Show("Error " + errorItem.errorCode.ToString("X") 
                    + " in " + errSource.sourceURL);
}
catch(InvalidCastException)
// In case pMediaObject is not an IWMPMedia item.
{
    MessageBox.Show("Error.");
} 

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