Usando o modelo de objeto Reprodutor Multimídia do Windows 7 ou posterior

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

A maioria das tarefas que você pode ter executado usando o modelo de objeto de controle ActiveX Reprodutor Multimídia do Windows 6.4 exigirá uma nova abordagem. Em muitos casos, os nomes das propriedades, métodos e eventos foram alterados no modelo de objeto Reprodutor Multimídia do Windows 7 ou posterior. Por exemplo, para especificar o caminho do arquivo no modelo de objeto versão 6.4, defina a propriedade Player6.FileName :

WMP64.FileName = "https://www.microsoft.com/somefile.wmv";

Ao usar o modelo de objeto Reprodutor Multimídia do Windows 7 ou posterior, você deve definir a propriedade Player.URL:

WMP9.URL = "https://www.microsoft.com/somefile.wmv";

Como alternativa, usando o modelo de objeto 10, você pode obter um objeto Media da biblioteca e, em seguida, definir a propriedade Player.currentMedia :

// Get the first media object in the media collection.
var MyMediaItem = WMP9.mediaCollection.getAll().item(0)

// Make the MyMediaItem object the current media.
WMP9.currentMedia = MyMediaItem;

Grande parte da funcionalidade no modelo de objeto Reprodutor Multimídia do Windows 7 ou posterior é acessada por meio da hierarquia de objetos. Como o exemplo anterior mostrou, você pode obter um objeto Playlist usando o método getAll do objeto mediaCollection , que é acessado por meio do objeto Player raiz. Em seguida, você pode obter um objeto Media específico do objeto Playlist usando o método item do objeto Playlist . Há cinco métodos adicionais acessíveis por meio do objeto mediaCollection que retornam um objeto Playlist ; cada método permite que você recupere o objeto com base em critérios específicos, como gênero ou álbum.

A estrutura hierárquica do modelo de objeto de controle ActiveX Reprodutor Multimídia do Windows 7 ou posterior fornece uma abordagem mais lógica para organizar as propriedades, métodos e eventos disponíveis para seu uso. Toda a funcionalidade para os controles Player está contida no objeto Controls , toda a funcionalidade para a conexão de rede player está contida no objeto Network e assim por diante. Por exemplo, para iniciar a reprodução de conteúdo usando o modelo de objeto versão 6.4, use o método Player6.Play :

WMP64.Play();

Ao usar o modelo de objeto Reprodutor Multimídia do Windows 7 ou posterior, você deve acessar o método Play usando o objeto Controls:

WMP9.controls.play();

No entanto, a profundidade do modelo de objeto pode levar a instruções de script muito longas:

WMP9.currentPlaylist.appendItem(WMP9.mediaCollection.getByName("MySong").item(0));

Instruções como a anterior podem se tornar muito mais simples e legíveis trabalhando com objetos nomeados individuais. O exemplo a seguir substitui a instrução de código anterior por sintaxe usando variáveis de objeto separadas:

// Store the current playlist object.
var pl = WMP9.currentPlaylist;

// Get a playlist from the media collection that contains
// one media item named "MySong".
var temp = WMP9.mediaCollection.getByName("MySong");

// Get the individual media item from the temp playlist.
var song = temp.item(0);

// Append the media item to the current playlist.
pl.appendItem(song);

Esse estilo de codificação requer mais linhas de script, mas é muito mais fácil de seguir, especialmente com os comentários adicionados. Há outra vantagem: o objeto currentPlaylist é fácil de reutilizar porque ele é armazenado na variável pl.

Muitas das propriedades, métodos e eventos no modelo de objeto Reprodutor Multimídia do Windows 7 ou posterior definem ou recuperam valores diferentes ou retornam valores de um tipo ou número diferente, em comparação com a funcionalidade correspondente no modelo de objeto da versão 6.4. Por exemplo, quando Player6.openState recupera 2, esse valor corresponde à constante do Visual Basic nsLoadingNSC, o que significa que o Player está carregando um arquivo de estação com uma extensão de nome de arquivo .nsc. Mas quando a propriedade do modelo de objeto Reprodutor Multimídia do Windows 7 ou posterior Player.openState recupera 2, esse valor corresponde ao estado PlaylistLocating, o que significa que Reprodutor Multimídia do Windows está tentando localizar uma playlist. Além disso, a propriedade Player6.openState pode recuperar sete valores diferentes, enquanto a propriedade Reprodutor Multimídia do Windows 7 ou posterior Player.openState pode recuperar 22 valores diferentes. Consulte a seção Referência de Modelo de Objeto para Script do SDK do Reprodutor Multimídia do Windows ao revisar o código para usar uma versão diferente do modelo de objeto.

Sobre o modelo de objeto player

Referência de modelo de objeto para scripts

Guia de migração do modelo de objeto