Saturday, March 8, 2008

ASP.NET 3.5: Playlist per MediaPlayer

. Saturday, March 8, 2008

Tra i vari formati supportati dal controllo MediaPlayer, avevo menzionato in un precedente post, anche l'ASX, quest'ultimo è un metafile XML che può definire una playlist di file audio/video:

   1: <ASX version="3.0">
   2:  <TITLE>Client Playlist</TITLE>
   3:   <ENTRY>
   4:     <TITLE>Pirates, Vikings and Knights II</TITLE>
   5:     <REF HREF="media/Pirates, Vikings and Knights II.wmv"/>
   6:   </ENTRY>
   7:   <ENTRY>
   8:       <TITLE>Farcry2</TITLE>
   9:       <REF HREF="media/Farcry2.wmv"/>
  10:   </ENTRY>
  11:   <ENTRY>
  12:       <TITLE>Duke Nukem Forever</TITLE>
  13:       <REF HREF="media/DNF.wmv"/>
  14:   </ENTRY>
  15: </ASX>

All'interno del tag ENTRY andiamo a definire i sub elementi che nel caso specifico descrivono tre file video.
Tramite i tag TITLE e REF vado a definire rispettivamente il titolo e il puntatore al contenuto multimediale.
Oltre ai tag appena citati possiamo indicare anche:
AUTHOR l'autore del file,

COPYRIGHT per specificare le informazioni sul copyright del video/audio,
STARTTIME indica l'inizio del rendering del flusso,
DURATION la durata totale del flusso.
Per conoscere la lista degli elementi utilizzabili in un file asx vi rimando alla documentazione su msdn
La nostra playlist si può arricchire nel seguente modo:

   1: <ASX version="3.0">
   2:  <TITLE>Client Playlist</TITLE>
   3:   <ENTRY>
   4:     <TITLE>Pirates, Vikings and Knights II</TITLE>
   5:     <REF HREF="media/Pirates, Vikings and Knights II.wmv"/>
   6:     <STARTTIME VALUE="00:00:00.00" />
   7:     <DURATION VALUE="00:02:59.00" />
   8:   </ENTRY>
   9:   <ENTRY>
  10:       <TITLE>Farcry2</TITLE>
  11:       <REF HREF="media/Farcry2.wmv"/>
  12:       <STARTTIME VALUE="00:00:00.00" />
  13:       <DURATION VALUE="00:01:21.00" />
  14:   </ENTRY>
  15:   <ENTRY CLIENTSKIP="NO">
  16:       <TITLE>Duke Nukem Forever</TITLE>
  17:       <REF HREF="media/DNF.wmv"/>
  18:       <STARTTIME VALUE="00:00:00.00" />
  19:       <DURATION VALUE="00:01:10.00" />
  20:   </ENTRY>
  21: </ASX>


A questo punto possiamo anche definire dei marcatori utilizzando delle miniature di immagini:
   1: <asp:MediaPlayer ID="mpPlayer" runat="server" Height="640px" Width="480px" 
   2:    MediaSource="Media/myPlayList.asx" MediaSkin="Expression" AutoPlay="true">
   3:   <Chapters>
   4:     <asp:MediaChapter ThumbnailImageSource="~/media/image1.jpg" 
   5:        Position="0" Title="Titolo" />
   6:     <asp:MediaChapter ThumbnailImageSource="~/media/image2.jpg" 
   7:        Position="60.00" Title="Titolo1" />
   8:     <asp:MediaChapter ThumbnailImageSource="~/media/image3.jpg" 
   9:        Position="120.00" Title="Titolo2" />
  10:   </Chapters>
  11: </asp:MediaPlayer>


L'oggetto MediaChapter presenta tre property ThumbnailImageSource, Position e Title.
In particolare Position corrisponde ai secondi di inizio sequenza di quel particolare marcatore.
(Un aiuto nella creazione dei marcatori ci viene dato da Microsoft Expression Media Encoder.)
Il risultato finale:

playList

0 commenti:

Post a Comment