《快速构建Windows 8风格应用20-MediaElement》博文中提到了如何使用MediaElement对象进行播放视频的简单功能,但是在实际应用中需要更复杂的功能,例如:控制视频播放的控件、全屏模式、进度条等等其他功能。
本篇博文中示例使用应用程序中包含的媒体文件,当然我们也可以通过网络或者本地[使用FileOpenPicker]进行加载某一媒体文件。
MSDN中关于媒体播放器的示例代码下载地址:XAML media playback sample。
构建基本的MediaElement控件
首先我们创建一个MediaElement控件并添加到ContentControl对象中,这样做的目的是为了启用全盘模式功能。
XAML代码如下:
<ContentControl x:Name="videoContainer" KeyUp="VideoContainer_KeyUp" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Height="400" Grid.Row="0" > <MediaElement Name="videoMediaElement" Source="Video/Azure_Tmobile_500k.wmv" MediaOpened="videoElement_MediaOpened" MediaEnded="videoMediaElement_MediaEnded" MediaFailed="videoMediaElement_MediaFailed" CurrentStateChanged="videoMediaElement_CurrentStateChanged" PosterSource="Media/1.png" AutoPlay="False" /> </ContentControl>
MediaElement控件的Source属性指向要播放的音频或视频文件。,该属性可以设置为应用中的某一文件的URI或网络上的文件的 URI。当然我们也可以使用 SetSource 方法将源设置为使用 FileOpenPicker 对象从本地系统检索的文件。
AutoPlay属性指定是否在加载 MediaElement 后开始播放媒体文件,默认值为 true。
MediaElement控件声明了MediaOpened、MediaEnded、CurrentStateChanged和 MediaFailed 事件。
最后设置PosterSource属性值,PosterSource是一个图像,它在媒体加载前为MediaElement控件提供视觉展示。
通常PosterSource在以下情况下显示:
1)未设置有效的源,例如:未设置Source、Source设置为Null、或源无效;
2)加载媒体时;
3)“播放到”流式播放期间;
构建控制MediaElement播放控件
一般控制MediaElement播放包括播放,停止和暂停等功能。
常用控制MediaElement播放功能包括:
1)停止:调用 Stop 方法;
2)暂停:调用 Pause 方法;
3)快进:将MediaElement控件的DefaultPlaybackRate属性的值设置为 2.0,我们可以调整此值,以提高或降低快进的速率。 然后,处理程序调用 Play 方法;
4)快退:将MediaElement控件的DefaultPlaybackRate属性的值设置为 -2.0,我们可以调整此值,以提高或降低快退的速率。然后,处理程序调用 Play 方法;
5)播放:如果MediaElement控件的DefaultPlaybackRate属性值不是 1.0,则将DefaultPlaybackRate 设置为 1.0。然后,处理程序调用 Play 方法。
6)静音:在 true 和false 间切换 IsMuted 属性;
7)音量增加、音量降低:如果IsMuted为true,则取消音量静音,然后处理程序按 0.1 增加或降低Volume属性。 注意:音量级别范围从 0.0 到 1.0;
对应这些控制功能的XAML代码可如下:
<StackPanel Orientation="Horizontal"> <Button Name="btnPlay" Click="btnPlay_Click" Style="{StaticResource transportStyle}" Content="Play" /> <Button Name="btnPause" Click="btnPause_Click" Style="{StaticResource transportStyle}" Content="Pause" /> <Button Name="btnStop" Click="btnStop_Click" Style="{StaticResource transportStyle}" Content="Stop" /> <Button Name="btnReverse" Click="btnReverse_Click" Style="{StaticResource transportStyle}" Content="Rewind" /> <Button Name="btnForward" Click="btnForward_Click" Style="{StaticResource transportStyle}" Content="Forward" /> <Button Name="btnMute" Click="btnMute_Click" Style="{StaticResource transportStyle}" Content="Mute" /> <Button Name="btnFullScreenToggle" Click="btnFullScreenToggle_Click" Style="{StaticResource transportStyle}" Content="Full" /> <ComboBox Name="cbAudioTracks" SelectionChanged="cbAudioTracks_SelectionChanged" Width="75" /> <Button Name="btnVolumeUp" Click="btnVolumeUp_Click" Style="{StaticResource transportStyle}" Content="-" /> <Button Name="btnVolumeDown" Click="btnVolumeDown_Click" Style="{StaticResource transportStyle}" Content="+" /> <TextBlock Name="txtVolume" FontSize="14" Text="{Binding Volume, ElementName=videoMediaElement}" VerticalAlignment="Center" HorizontalAlignment="Right" /> </StackPanel>
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索控件
, 方法
, 音量
, 属性
, 功能
, Meidia Play控件
MediaElement
jenkins构建自由风格、简单局域网构建步骤、mysql入门很简单、linux入门很简单 pdf、mysql入门很简单 pdf,以便于您获取更多的相关知识。