Søg på DotNyt:
Denne blog er flyttet til www.nielsbrinch.com


torsdag den 26. juli 2007

Afspilning af video med Silverlight

skrevet af Niels Brinch

Jeg har flere gange set at Microsoft nævner at videoafspilning er en af de store fordele ved Silverlight. Jeg kan ikke se hvorfor det skulle være SÅ vigtigt, men det er da cool nok. Jeg har UploadBAG hvortil man kan uploade videoer. Det kunne være rart hvis det var muligt at se videoerne direkte fra mit site, i stedet for at skulle hente videoen først. Det burde Silverlight kunne hjælpe mig med.

Google er min ven. Det første jeg finder hedder Silverlight Streaming og ja, det handler om video. Det beskrives hvordan jeg skal hente Microsoft Expression's Media Encoder, behandle videoen deri og dernæst generere en player til videoen. Nej tak! Jeg skal ikke ind og behandle hver video enkeltvis, det skal bare virke. Jeg fortsætter min søgning ...

Det næste jeg finder er en guide til hvordan man bruger DotNetNuke's Silverlight-baserede videoafspiller. Bingo, det er nøjagtig det jeg også vil kunne. Jeg er nu overbevist om at "man kan" det jeg vil, men den konkrete guide hjælper ikke lige præcis mig.

Det næste jeg finder er en instruktionsvideo fra Microsoft som skulle vise hvordan jeg kan designe min egen videoafspiller. Meget fint. Jeg går lidt i gang med videoen og ser Expression Blend blive åbnet. Nej tak! Et dyrt designerprogram som ikke kan andet end at skrive noget xml. Det kan jeg godt selv. I stedet downloader jeg kildekoden og finder noget interessant i .xaml-filen:

<Canvas.Resources>
<Storyboard x:Name="PlayButtonAnimation">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="PlayButton" Storyboard.TargetProperty="(UIElement.Opacity)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:02" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Canvas.Resources>
<MediaElement AutoPlay="False" Width="448" Height="368" Source="http://localhost/videos/bear.wmv" Stretch="Fill" Canvas.Left="16" Canvas.Top="16"/>

Det ser nemt ud, ikke? Jeg læser det som om der er et MediaElement som er selve videoen og så er der en "animation" til at aktivere afspilning af videoen. Nøjagtig hvad jeg ledte efter.


Jeg opsætter øjeblikkeligt en test. Jeg hentede en wmv-fil med en køn dame der ønsker sin familie en glædelig jul. Efter at have placeret den her, http://localhost/videoblog.wmv, henvist til den fra mit projekt, ændret AutoPlay-attributten til true og trykket CTRL+F5 i mit testprojekt får jeg ... blank skærm.


Aha - Cross-domain-problematik. CTRL+F5 åbner på C:\ og filen ligger på http://. Da jeg åbner Silverlight-projektet på http:// fungerer det med det samme. Det er virkelig nemt med video i Silverlight. Bravo hvis det virker med andet end wmv. Jeg henter en avi-fil og prøver - denne gang en fil der viser hvordan man svejser et rør.


Blank skærm ... Den kan ikke afspille avi-filer. Heller ikke mpg.


Et opslag på Microsoft's eget site giver mig ret. Kun wmv, wma og mp3 er understøttet.


En meget lidt fristende løsning for UploadBAG vil være, at jeg konverterer al video til wmv efter det er uploadet.


Jeg er ikke imponeret af Silverlight's videoafspilning. Men heller ikke overrasket.

0 kommentarer

0 Kommentarer:

Send en kommentar

<< Tilbage


 
Til forsiden

Niels Brinch