介绍一下Silverlight的多媒体功能并说明如何将声音和视频集成到Silverlight页面
MediaElement 对象:
向页面添加媒体的操作十分简单,只需将 MediaElement 添加到标记并为要播放的媒体提供统一资源标识符 (URI)。下面的示例创建一个 MediaElement 并将其 Source 属性设置为某视频文件的 URI。加载该页时,MediaElement 开始播放。
<MediaElement Height="120" Name="mediaElement1" Width="160" Source="abc.wmv" />
MediaElement 属性:
MediaElement 类提供几个媒体特定的属性:
· AutoPlay:指定 MediaElement 是否应自动开始播放。默认值为 true。
· IsMuted:指定 MediaElement 是否静音。true 值将使 MediaElement 静音。默认值为 false。
· Stretch:指定如何拉伸视频以填充 MediaElement 对象。可能值为 None、Uniform、UniformToFill 和 Fill。默认值为 Fill。Volume:指定介于 0 到 1 的 MediaElement 对象的音频音量值,1 表示最大音量。默认值为 0.5。
除了媒体特定的属性之外,MediaElement 还具有 UIElement 的所有属性(如 Opacity 和 Clip)。
以交互方式控制媒体播放:
可以使用 MediaElement 对象的 Play、Pause 和 Stop 方法来以交互方式控制媒体播放。下面的示例定义一个 MediaElement 对象和用于控制媒体播放的几个按钮。
<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" />
<Button Click="StopMedia"
Grid.Column="0" Grid.Row="1" Content="Stop" />
<Button Click="PauseMedia"
Grid.Column="1" Grid.Row="1" Content="Pause" />
<Button Click="PlayMedia"
Grid.Column="2" Grid.Row="1" Content="Play" />
</Grid>
.cs文件:
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();
}