Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Aggiungere Windows Media Player ad applicazioni .NET

Vi è mai capitato di voler aggiungere il controllo del lettore di Windows Media Player nelle vostre applicazioni Windows Forms? Bene, in questo post vediamo come si fa (dedicato ai meno esperti).

In primo luogo una piccola spiegazione "tecnica", che vi tornerà utile per utilizzare anche altri controlli ActiveX in .NET. Il controllo relativo al lettore di Windows Media Player, quello ad interfaccia grafica che permette di riprodurre i file, per intenderci, risiede nella libreria WMP.Dll ed è un controllo ActiveX. Questa libreria è di tipo COM, quindi, per poter essere utilizzata in applicazioni .NET, è necessario generare gli appositi wrapper. Per semplificare questo tipo di operazione e raggiungere contemporaneamente un obiettivo migliore aggiungendo il controllo nella casella degli strumenti di Visual Studio 2005, eseguite i seguenti passaggi:

  • espandete la casella degli strumenti;
  • su una delle schede contenenti controlli (o su una nuova se preferite), fate click destro e selezionate il comando "Scegli elementi" dal menu contestuale;
  • dalla finestra che appare, selezionate la scheda "Componenti COM". Dall'elenco che appare, selezionate "Windows Media Player" come nella seguente figura, e fate clic su OK:

  • trascinate il controllo appena aggiunto dalla toolbox su un form, e dimensionatelo come volete. Magia! Guardate qua:

Ogni volta che il controllo viene aggiunto a una finestra, l'IDE di Visual Studio genera (ed aggiunge ai riferimenti) automaticamente due nuovi assembly: AxInterop.WMPLib.dll e Interop.WMPLib.dll. Questi file sono i wrapper che permettono di utilizzare da codice gestito gli oggetti esposti dal componente COM di Windows Media Player.

Fatto questo, all'interno di un metodo sarà sufficiente inserire la seguente riga di codice, che va bene anche in C#:

MediaPlayer1.URL = FileName 'FileName è una stringa che indica il contenuto multimediale da riprodurre

La proprietà URL dell'oggetto MediaPlayer deve contenere l'URL o il nome del file da riprodurre. Come sapete, è possibile riprodurre non solo file multimediali locali ma anche dalla rete. Così facendo, il lettore avvierà immediatamente la riproduzione del media specificato.

Curiosando nella finestra dell'Intellisense, e con un po' di voglia di sperimentare..., vi accorgerete che ci sono numerose proprietà e metodi per la gestione dei contenuti multimediali, oltre ad altri oggetti necessari alla gestione del controllo.

I più smaliziati osserveranno subito che non è necessario aggiungere il controllo alla toolbox, ma basta aggiungere un riferimento alla libreria WMP.dll, lasciare all'IDE il compito di generare i wrapper e creare via codice una nuova istanza del controllo. Si può fare anche così, per me è più comodo avere il controllo da trascinare!

Quando dovete distribuire la vostra applicazione, ricordatevi che non potete distribuire il file WMP.dll che è protetto da Copyright ed è di proprietà di Microsoft. Potete, anzi dovete, distribuire i soli file per l'interoperabilità COM, ossia AxInterop.WmpLib.dll e Interop.WmpLib.dll.

Anche se la riga di codice da utilizzare è una sola, ma come detto potete gestire in maniera approfondita il comportamento del lettore tramite altre proprietà e metodi, ho predisposto un file .vsi che potete scaricare da qui e che installerà tra i frammenti di codice di Visual Basic 2005 lo snippet proposto.

Alessandro

Print | posted on martedì 8 maggio 2007 00:36 |

Powered by:
Powered By Subtext Powered By ASP.NET