Compartilhar via


Usando skins com o controle Reprodutor Multimídia do Windows

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

Ao inserir o controle Reprodutor Multimídia do Windows em um programa C++, você pode personalizar a interface do usuário do Player aplicando um arquivo de definição de pele a ele. Um arquivo de definição de pele é um documento baseado em XML que especifica o layout de componentes de interface do usuário padrão e personalizáveis e todos os elementos gráficos que acompanham. Usando o Microsoft JScript, você pode especificar o comportamento desses componentes e manipular o controle Reprodutor Multimídia do Windows sem a sobrecarga da sintaxe C++ e COM.

As skins fornecem uma maneira fácil de manter o código da interface do usuário e o código do programa main separados para que possam ser mantidos e desenvolvidos de forma independente. Você também pode reutilizar skins originalmente projetadas para uso pelo Player autônomo no modo de pele. O código de pele que você projeta especificamente para programas C++ pode interagir com seus programas por meio de um objeto scriptável que seu programa pode fornecer.

Para habilitar o modo skin para o controle Reprodutor Multimídia do Windows, seu programa deve implementar a interface IWMPRemoteMediaServices. Embora você possa usar skins com o controle e o controle remoto ao mesmo tempo, você pode usar essa interface para habilitar qualquer recurso sem habilitar o outro. Para desabilitar a comunicação remota, basta passar um valor de "Local" como o parâmetro out do método GetServiceType e retornar um HRESULT de E_NOTIMPL do método GetApplicationName .

Para alternar o controle Reprodutor Multimídia do Windows para o modo de pele, chame o método IWMPPlayer::p ut_uiMode, passando um valor de "personalizado". Especifique o caminho e o nome do arquivo de definição de pele a ser usado retornando-o do método IWMPRemoteMediaServices::GetCustomUIMode .

Se você quiser fornecer um objeto scriptável para comunicação entre sua pele e seu programa, passe um nome e um ponteiro para um ponteiro IDispatch como os dois parâmetros out do método IWMPRemoteMediaServices::GetScriptableObject . Em seguida, sua pele pode fazer chamadas para o objeto scriptável usando o nome especificado como se fosse um atributo global semelhante ao atributo global do player .

Uma pele aplicada a um controle de Reprodutor Multimídia do Windows remoto pode acessar o objeto PlayerApplication usando outro atributo global chamado playerApplication. Como a propriedade Player.playerApplication não pode ser acessada por skins, você deve usar esse atributo global quando quiser que seu código de pele gerencie o encaixe e o desencaixe.

Exemplos

O pacote de instalação do SDK Reprodutor Multimídia do Windows instala um exemplo que demonstra a aplicação de uma skin ao controle Reprodutor Multimídia do Windows. Consulte o exemplo RemoteSkin para obter mais informações.

Exemplos

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