原文:快速构建Windows 8风格应用20-MediaElement

本篇博文主要介绍MediaElement概述、MediaElement对象介绍、MediaElement常用属性、如何控制媒体播放。

MediaElement概述

通常在Windows 8风格应用中播放音频或视频文件时是使用MediaElement类进行构建的。

MediaElement对象提供了用于播放视频或音频的属性和方法。

相关MediaElement的开发示例可参考该链接:XAML media playback sampleMedia Play To sample

MediaElement对象介绍

使用MediaElement构建将视频文件在应用面中进行播放的功能是比较容易的。

例如:

XAML代码中声明MediaElement控件,Source属性值设置为视频的Uri。

 <MediaElement x:Name="media" Source="Video/Azure_Tmobile_500k.wmv"  Width="400" />

C#代码中声明MediaElement控件,代码如下:

MediaElement mediaElement = new MediaElement();
mediaElement.Name = "mediaElement1";
mediaElement.Width = 400;
mediaElement.Source = new Uri("ms-appx:///Video/Azure_Tmobile_500k.wmv");
this.grid1.Children.Add(mediaElement);

允许效果图如下:

当页面加载时,MediaElement就自动播放。通常情况下为了防止视频的自动播放,可将MediaElement控件的AutoPlay属性值设置为false。

MediaElement常用属性

MediaElement对象常用属性包括:

1)AutoPlay属性:指定MediaElement是否自动开始播放。默认值为True;

2)IsMuted属性:指定MediaElement是否设置为静音。默认值为False,True表示静音;

3)Stretch属性:如何拉伸视频来填充MediaElement对象。默认值为Fill,其他值还有None、Uniform、UniformToFill;

4)Volume属性:设置MediaElement对象音量值。默认值为0.5,最大值为0;

MediaElement对象其他属性可参考该链接:MediaElement Class

如何控制媒体播放

我们可以使用MediaElement对象的PlayPauseStop 方法控制媒体播放。

例如:

XAML代码中声明MediaElement控件,添加三个Button来控制媒体的播放。

 <MediaElement x:Name="media" Source="Video/Azure_Tmobile_500k.wmv" Width="300" Height="300" Grid.Column="0" Grid.Row="0" Margin="518,42,548,426" />
 
<Button Click="StopMedia" Grid.Column="0" Content="Stop" Margin="444,365,0,365" />      
<Button Click="PauseMedia" Content="Pause" Margin="615,365,0,365" />         
<Button Click="PlayMedia" Content="Play" Margin="828,365,0,365" />

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();
}

另外我们还可以设置MediaElement对象Position 属性来指定媒体特定的位置。

快速构建Windows 8风格应用20-MediaElement的更多相关文章

  1. 快速构建Windows 8风格应用24-App Bar构建

    原文:快速构建Windows 8风格应用24-App Bar构建 本篇博文主要介绍构建AppBar基本步骤.如何构建AppBar.如何在AppBar中构建上下文命令.如何在AppBar中构建菜单.如何 ...

  2. 快速构建Windows 8风格应用21-构建简单媒体播放器

    原文:快速构建Windows 8风格应用21-构建简单媒体播放器 本篇博文主要介绍如何构建一个简单的媒体播放器. <快速构建Windows 8风格应用20-MediaElement>博文中 ...

  3. 快速构建Windows 8风格应用32-构建辅助磁贴

    原文:快速构建Windows 8风格应用32-构建辅助磁贴 引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕 ...

  4. 快速构建Windows 8风格应用17-布局控件

    原文:快速构建Windows 8风格应用17-布局控件 本篇博文主要介绍三种常用的布局控件:Canvas.Grid.StackPanel. Panel类是开发Windows 8 Store应用中一个重 ...

  5. 快速构建Windows 8风格应用15-ShareContract构建

    原文:快速构建Windows 8风格应用15-ShareContract构建 本篇博文主要介绍共享数据包.如何构建共享源.如何构建共享目标.DataTransferManager类. 共享数据包 Da ...

  6. 快速构建Windows 8风格应用14-ShareContract概述及原理

    原文:快速构建Windows 8风格应用14-ShareContract概述及原理 本篇博文主要介绍Share Contract概述.Share Contract实现原理.实现Share Contra ...

  7. 快速构建Windows 8风格应用13-SearchContract构建

    原文:快速构建Windows 8风格应用13-SearchContract构建 本篇博文主要介绍如何在应用中构建SearchContract,相应的原理已经在博文<快速构建Windows 8风格 ...

  8. 快速构建Windows 8风格应用9-竖直视图

    原文:快速构建Windows 8风格应用9-竖直视图 本篇博文主要介绍竖直视图概览.关于竖直视图设计.如何构建竖直视图 竖直视图概览 Windows 8为了支持旋转的设备提供了竖屏视图,我们开发的应用 ...

  9. 快速构建Windows 8风格应用10-设备方向

    原文:快速构建Windows 8风格应用10-设备方向 本篇博文主要介绍常用支持Windows 8操作系统设备的方向.如何获取当前设备方向.DisplayProperties类. 常用支持Window ...

随机推荐

  1. java NIO中的Reactor相关知识汇总 (转)

    一.引子 nio是java的IO框架里边十分重要的一部分内容,其最核心的就是提供了非阻塞IO的处理方式,最典型的应用场景就是处理网络连接.很多同学提起nio都能说起一二,但是细究其背后的原理.思想往往 ...

  2. 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序。

    原文 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序. win7 64位操作系统上边运行IIS网站应用的时候,提示错误"试图加载格式 ...

  3. mysql导出和导入命令更改数据库名称数据库

    概要 mysql 数据库导入和导出,有两种方法 1)从试点SQL脚本.导入(导入导出又分两种:1. 命令. 2. 工具.这里我们仅仅介绍命令). 2)直接拷贝数据库文件(此方法不推荐). 一.mysq ...

  4. 利用System.Net.Mail 的SmtpClient发送邮件

    原文:利用System.Net.Mail 的SmtpClient发送邮件 几个月前总结过关于Jmail发送邮件,当时用Jmail发送邮件发送速度有点慢(可能对Jmail了解不是很多).现在改为用微软提 ...

  5. Dynamics CRM2013/2015 禁止欢迎屏幕(Disable the Welcome Screen)

    首先打开Dynamic CRM  2013将有一个欢迎界面的例子,下面的图,它不会为了图检查框出现.OK然后,下一次打开就没有. 可是当我们打开F12开发者工具,清除域的缓存后再次打开CRM,这个欢迎 ...

  6. Javascript学习8 - 脚本化文档(Document对象)

    原文:Javascript学习8 - 脚本化文档(Document对象) 每个Web浏览器窗口(或帧)显示一个HTML文档,表示这个窗口的Window对象有一个document属性,它引用了一个Doc ...

  7. 如何定义自己的ViewGroup

    在发展中,有时会遇到一些要求.布局和控制系统不仅提供使用,以满足我们的发展,所以这一次就行,通常是你自己的自定义布局(ViewGroup)并控制(View)该.我在这里,我们将用一个简单的例子,当他们 ...

  8. 包装类、Object类——Java笔记(八)

    包装类:     基本数据类型的包装类     基本数据类型 包装类 byte Byte short Short int Integer long Long char Character float ...

  9. 零基Github Page个人博客建立教程无限的自由流动

    本文介绍了什么是Github Page.以及如何使用Github Page搭建一个免费的.无限流量的个人博客并绑定独立域名. 一.前言 1.1 为什么要用Github Page搭建博客 借用阮一峰老大 ...

  10. OJ提交题目中的语言选项里G++与C++的区别(转载)

    原文链接:http://blog.polossk.com/201405/c-plus-plus-g-plus-plus G++? 首先更正一个概念,C++是一门计算机编程语言,G++不是语言,是一款编 ...