Multimedia - luento 15

Opetellaan lisäämään video tai ääni sovellukseen, tutustutaan animaatioiden ja leikepöydän käyttämiseen.

Luentoesimerkki (media.zip)

MediaElement ja MediaPlayer

Videota ja ääntä voi helposti lisätä sovellukseensa MediaElement- tai MediaPlayer-kontrolleilla.

MediaElement-kontrollin voi suoraan luoda XAML-tiedostoon. MediaPlayer täytyy luoda dynaamisesti.

Tuettavat mediat riippuvat Windows Media Playerista

Independent mode

Clock mode

MediaTimeline toimii storyboardissa ja kaikki animaatioihin liittyvät ominaisuudet pätevät.

Animaatiot

WPF:ssä on valmiina tuki dependency propertyjen animoinnille.

    <Canvas>
        <Rectangle Width="100" Height="1000" Name="rasterbar" Canvas.Left="0" Canvas.Top="-300">
            <Rectangle.Fill>
                <!-- gradienteista tarkemmin osoitteessa http://msdn.microsoft.com/en-us/library/ms754083.aspx -->
                <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
                    <GradientStop Color="#ff000000" Offset="0.0" />
                    <GradientStop x:Name="vari" Color="#ffff0000" Offset="0.5" />
                    <GradientStop Color="#ff000000" Offset="1.0" />
                </LinearGradientBrush>
            </Rectangle.Fill>
            <Rectangle.RenderTransform>
                <RotateTransform Angle="0" x:Name="rotate"
              CenterX="50" CenterY="500" />
            </Rectangle.RenderTransform>
            <Rectangle.Triggers>
                <EventTrigger RoutedEvent="Rectangle.Loaded">
                    <BeginStoryboard>
                        <Storyboard>
                            <!-- Attached propertyt pitää merkitä sulkeissa. Muut ilman sulkeita -->
                            <DoubleAnimation
                           Storyboard.TargetName="rasterbar"
                           Storyboard.TargetProperty="(Canvas.Left)"
                           From="0.0" To="300.0" Duration="0:0:5"
                           AutoReverse="True" RepeatBehavior="Forever" />
                            <ColorAnimation
                           Storyboard.TargetName="vari"
                           Storyboard.TargetProperty="Color"
                           From="#ffff0000" To="#ffff00ff" Duration="0:0:5"
                           AutoReverse="True" RepeatBehavior="Forever" />
                            <DoubleAnimation
                           Storyboard.TargetName="rotate"
                           Storyboard.TargetProperty="Angle"
                           From="0.0" To="360.0" Duration="0:0:5"
                           AutoReverse="False" RepeatBehavior="Forever" />
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger>
            </Rectangle.Triggers>
        </Rectangle>
    </Canvas>


Leikepöytä

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/gko/luennot/luento15/
© Antti Ekonoja (antti.j.ekonoja@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
2012-03-22 14:06:19
Informaatioteknologia - Jyväskylän yliopiston informaatioteknologian tiedekunta