Silverlight は、オーディオ ファイルとビデオ ファイルの再生をサポートします。このクイックスタートでは、メディアを Web ページに統合する方法について説明します。
このクイックスタートは、次のセクションで構成されています。
オーディオとビデオの詳細については、MSDN の Silverlight ドキュメントの「オーディオとビデオの概要」を参照してください。
MediaElement オブジェクト
ページにメディアを追加するのは簡単です。MediaElement をマークアップに追加し、再生するメディアの URI (Uniform Resource Identifier) を指定するだけで追加できます。次の例では、MediaElement を作成し、その Source プロパティをビデオ ファイルの URI に設定します。ページが読み込まれると、MediaElement が再生を開始します。
XAML
<StackPanel Width="300" Height="300">
<MediaElement x:Name="media" Source="xbox.wmv" Width="300" Height="300" />
</StackPanel>
メモ
MediaElement オブジェクトは、Windows Media Video (WMV)、Windows Media Audio (WMA)、および MP3 形式のファイルを再生できます。サポートされている形式およびプロトコルの詳細については、MSDN の Silverlight ドキュメントの「サポートされるメディア形式、プロトコル、およびログ フィールド」を参照してください。
MediaElement のプロパティ
MediaElement オブジェクトには、メディア固有のプロパティが用意されています。次に、よく使用されるプロパティの一覧を示します。
- AutoPlay: MediaElement が自動的に再生を開始するかどうかを指定します。既定値は True です。
- IsMuted: MediaElement を無音にするかどうかを指定します。True を指定すると、MediaElement は消音されます。既定値は False です。
- Stretch: MediaElement オブジェクトを埋めるためにビデオを引き伸ばす方法を指定します。指定できる値は、None、Uniform、UniformToFill、および Fill です。既定値は Fill です。次の図に、各 Stretch 値の例を示します。
- Volume: MediaElement オブジェクトのオーディオのボリュームを 0 ~ 1 (1 が最大) の値で指定します。既定値は 0.5 です。
MediaElement には、メディア固有のプロパティ以外に UIElement の全プロパティ (Opacity、Clip など) が用意されています。MediaElement プロパティの完全な一覧については、MSDN の Silverlight ドキュメントの「MediaElement クラス」を参照してください。
メディアの再生の制御
MediaElement オブジェクトの Play、Pause、および Stop の各メソッドを使用すると、メディアの再生を制御できます。MediaElement オブジェクトと、メディアの再生を制御するためのボタンを定義する方法を次の例に示します。このサンプルを実行するには、各ボタンをクリックしてください。メディアの再生を制御できます。
XAML
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions>
<MediaElement x:Name="media" Source="xbox.wmv" Width="300" Height="300" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3" />
<!-- Stops media playback.--> <Button Click="StopMedia" Grid.Column="0" Grid.Row="1" Content="Stop" />
<!-- Pauses media playback. --> <Button Click="PauseMedia" Grid.Column="1" Grid.Row="1" Content="Pause" />
<!-- Begins media playback. --> <Button Click="PlayMedia" Grid.Column="2" Grid.Row="1" Content="Play" />
</Grid>
C#
private void StopMedia(object sender, RoutedEventArgs e) { media.Stop(); } private void PauseMedia(object sender, RoutedEventArgs e) { media.Pause(); } private void PlayMedia(object sender, RoutedEventArgs e) { media.Play(); }
Visual Basic
Private Sub StopMedia(ByVal sender As Object, ByVal e As RoutedEventArgs) media.Stop() End Sub
Private Sub PauseMedia(ByVal sender As Object, ByVal e As RoutedEventArgs) media.Pause() End Sub
Private Sub PlayMedia(ByVal sender As Object, ByVal e As RoutedEventArgs) media.Play() End Sub
メモ
メディアの停止、一時停止、再生のほか、MediaElement オブジェクトの Position プロパティを使用することで特定の位置をシークできます。
参照
フィードバックを送信する