Windows 8风格应用开发入门 二十一 构建简单媒体播放器

《快速构建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,以便于您获取更多的相关知识。

时间: 2024-10-06 05:09:00

Windows 8风格应用开发入门 二十一 构建简单媒体播放器的相关文章

Windows 8风格应用开发入门 三十一 构建磁贴

磁贴是吸引用户经常使用应用重要手段之一.我们可将应用程序内较好的内容使用磁贴进行展示. 另外应用程序磁贴是应用程序中的核心部分,而且很可能也是用户最常见到的部分,因此利用 动态磁贴来吸引用户经常使用我们的应用程序! 开发入门 三十一 构建磁贴-磁贴风格"> 本篇博文主要介绍如何创建基本磁贴(也就是默认磁贴)以及如何使用本地通知更新磁贴. 一.创建基本磁贴 基本磁贴也可以叫做默认磁贴.通常我们点击基本磁贴来启动或者切换应用 . 我们可以在应用程序清单文件中设置默认的静态磁贴,并且该静态磁贴分

Windows 8风格应用开发入门 二十三 App Bar概述及使用规范

App Bar概述 Windows 8 Store应用中的App Bar(应用程序工具栏)起到的作用和Windows Phone中AppBar一样.我们可以向用户提供各种操作接口,实现导航或者触发命令等. AppBar一 般默认是隐藏的,也可以设置为始终可见.我们可以通过清扫屏幕上边缘或下边缘时显示AppBar, AppBar被点击之后或失去焦点后隐藏,当然我们也可以通过编程方式控制AppBar显示或隐藏. Windows 8 Store应用中通常包含两种AppBar: 1)底部AppBar 底

Windows 8风格应用开发入门 二十二 MessageDialog

MessageDialog概述 MessageDialog指的就是对话框. 对话框的命令栏中最多包含三个命令.如果我们指定任何命令,将会有一个默认命令添加到对话框中,目的是关闭对话框. 对话框弹出后界面中所有元素将在对话框下面显示,并且将会阻塞任何触摸事件直到用户进行响应对话框. 另外对话框应该尽量少用. 注意:Windows 8风格应用中取消了MessageBox对象,取而代之的是MessageDialog对象. MessageDialog常用属性和方法 MessageDialog类包含两类构

Windows 8风格应用开发入门 二十九 捕获图片与视频

一.相机 关于相机 1.相机对话框提供了触屏优化的全屏体验,你可从嵌入的或附加 的相机中捕获照片和视频. 2.全屏对话框处理显示相机 UI 的工作. 3.通过此对话框, 你可以使用对 Windows.Media.Capture.CameraCaptureUI.captureFileAsyncAPI 的一种方法调用捕获 照片或视频. 4.作为捕获体验的一部分,用户可对其捕获的照片进行修剪,对捕获的视频进行 剪辑,然后再将它们返回至调用应用程序. 5.用户在捕获照片或视频前,还可调整一些相机设 置,

Windows 8风格应用开发入门 二十七 漫游应用数据

一.漫游应用数据概览 1.若应用当中使用了漫游应用数据,用户可以很轻松的在不同的设备间保持应用数据的同步. 2.Windows会将更新的漫游数据同步到云端,并将数据更新到其他安装此应用的设备上. 3.Windows 限制了每个应用可漫游的应用数据大小.若我们的应用达到漫游数据大小的限制,在应用的总漫游数据再次少于该限制之前,不会将应用的任何数据更新到云端,因此最好的做法是仅为用户首选项.链接和小型数据文件使用漫游数据. 4.只要用户在所需的时间间隔内从某个设备访问应用的漫游数据,这些数据将存在云

Windows 8风格应用开发入门 二十五 数据绑定

数据绑定是一种简单方式来显示数据,UI元素与数据对象之间的连接或绑定是允许数据在两者之间 流动的.另外建立了绑定且数据发生变化时,相应的UI元素会自动显示变化. 如何将UI元素与 数据进行绑定 开发入门 二十五 数据绑定-windows开发入门"> 从上面图可以知道,每个绑定必须指定一个源和一个目标. 其中源对象可以是任何CLR对象,包括目标元素自身和其他UI元素.目标可以是 FrameworkElement的任何DependencyProperty(依赖属性). 数据绑定引擎从Bindi

Windows 8风格应用开发入门 二十四 App Bar构建

构建应用栏的目的的显示导航.命令和始终隐藏不需要的使用的工具.我们可以把应用栏放在页面 顶部或底部或同时存在顶部和底部. 默认情况在AppBar是隐藏的,当用户单击右键.按下Win+Z .或从屏幕的顶部或底部边缘轻松时可显示或关闭AppBar.当然我们也可以通过编程的方式将AppBar设 置为当用户做选择或与应用交互时显示. 构建AppBar基本步骤 通常我们构建一个应用的 AppBar,只需要三步就可以完成: 开发入门 二十四 App Bar构建-jenkins构建自由风格"> 如何构建

Windows 8风格应用开发入门 十三 SearchContract构建

如何在应用中构建SearchContract 这里以常见的构建Search Contract功能为例,具体如下: 设置应用Search权限: 我们在应用中构建SearchContract之前,需要确认应用程序具有相应的Search能力,可以在应用清单文件中查看设置. 开发入门 十三 SearchContract构建-elasticsearch 入门"> 添加标准Search Contract页面: 应用的解决方案中添加Search Contract页面. 查看Search Contract

Windows 8风格应用开发入门 二十 MediaElement

MediaElement概述 通常在Windows 8风格应用中播放音频或视频文件时是使用MediaElement类进行构建的. MediaElement对象提供了用于播放视频或音频的属性和方法. 相关MediaElement的开发示例可参考该链接:XAML media playback sample和Media Play To sample. MediaElement对象介绍 使用MediaElement构建将视频文件在应用面中进行播放的功能是比较容易的. 例如: XAML代码中声明Media