WPF/E CTP Quick Start - 第八部分:媒体(翻译)-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

WPF/E CTP Quick Start - 第八部分:媒体(翻译)

简介:
+关注继续查看
在页面中添加媒体信息
  如果需要在页面中添加媒体信息,您需要创建一个MediaElement元素,并将它的Source属性指向您的媒体文件。下面则是一个示例:
<Canvas
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<MediaElement Source="xbox.wmv" Width="300" Height="300" />
</Canvas>
  就像其它UIElement对象一样,您可以在MediaElement对象之上绘制图形。下面的示例将在上一个例子的基础上,将一个Ellipse添加到MediaElement元素之上。
<Canvas Width="300" Height="300"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<MediaElement Source="xbox.wmv" Width="300" Height="300" />

<Ellipse Height="200" Width="200" Canvas.Left="30" Canvas.Top="30"
Stroke="Black" StrokeThickness="10" Fill="SlateBlue"
Opacity="0.6" />
</Canvas>
 
有用的MediaElement属性
  MediaElement对象除了它作为一个UIElement对象所具有的属性,例如Opacity和Clip之外,还有一些额外的属性。MediaElement提供了一些媒体专有的属性:
  • Stretch:指定了一个视频是如何缩放以填充MediaElement元素的。它可能的值有None、Uniform、UniformToFill和Fill。它的默认值为Fill。请参考WPF/E的SDK中关于Stetch属性的部分,以获得更多信息。
  • IsMuted:指定了MediaElement是否静音,把它设为True就能使MediaElement静音,它的默认值为False。
  • Volume:使用0到1之间的值指定MediaElement的音量,1表示最响。它的默认值为0.5。
  请参考WPF/E的SDK以得到更多MediaElement的属性信息。
 
交互式地控制媒体的播放
  您可以使用playpausestop等方法交互式地控制媒体的播放。下面的示例使用了playpausestop方法来交互式地控制媒体的播放。
<Canvas Width="300" Height="300"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<MediaElement x:Name="media" Source="xbox.wmv" Width="300" Height="300" />

<!-- Stops media playback.-->
<Canvas MouseLeftButtonDown="javascript:media_stop" Canvas.Left="20" Canvas.Top="260">
<Rectangle Stroke="Black"
Height="40" Width="40" RadiusX="5" RadiusY="5">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.75,0.25">
<GradientStop Color="Orange" Offset="0.0" />
<GradientStop Color="Red" Offset="1.0" />
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<TextBlock Canvas.Left="5" Canvas.Top="5">stop</TextBlock>
</Canvas>

<!-- Pauses media playback. -->
<Canvas MouseLeftButtonDown="javascript:media_pause"
Canvas.Left="70" Canvas.Top="260">
<Rectangle Stroke="Black"
Height="40" Width="50" RadiusX="5" RadiusY="5">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.75,0.25">
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Orange" Offset="1.0" />
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<TextBlock Canvas.Left="5" Canvas.Top="5">pause</TextBlock>
</Canvas>

<!-- Begins media playback. -->
<Canvas MouseLeftButtonDown="javascript:media_begin" Canvas.Left="130" Canvas.Top="260">
<Rectangle Stroke="Black" RadiusX="5" RadiusY="5"
Height="40" Width="50">
<Rectangle.Fill>
<RadialGradientBrush GradientOrigin="0.75,0.25">
<GradientStop Color="LimeGreen" Offset="0.0" />
<GradientStop Color="Green" Offset="1.0" />
</RadialGradientBrush>
</Rectangle.Fill>
</Rectangle>
<TextBlock Canvas.Left="5" Canvas.Top="5">play</TextBlock>
</Canvas>

</Canvas>
function media_stop(sender, args) {
sender.findName("media").stop();
}

function media_pause(sender, args) {
sender.findName("media").pause();
}

function media_begin(sender, args) {
sender.findName("media").play();
}


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何使用 Arthas 定位 Spring Boot 接口超时
公司有个渠道系统,专门对接三方渠道使用,没有什么业务逻辑,主要是转换报文和参数校验之类的工作,起着一个承上启下的作用。
3 0
来来来开小灶了,年后求职和跳槽的看过来,悄悄的看悄悄的收藏
面试官,您好我叫(XXX),今天来公司面试 JAVA开发工程师,之前在(XXX 公司)任职,从事这一行已经有(几)个年头了。这几年开发,主要接触的项目包括(你做过的项目!)等。在开发过程中,也用过好些框架,比如∶ springboot、springcloud、springmvc、spring、Mybatis等技术框架。熟练掌握框架之间的整合技术。有时候因为项目需求或是为了开发的高效性,自己我会研究一些技术,使用一些常用的主流 Java技术,例如∶(吹!用没用过不重要,主要是就是英文的!)。前端的技术也研究过一些。如(原生的、框架啊都往上整!)
4 0
Spring Cloud 终于大改版?为什么要用日期来做版本号?
Spring Cloud终于改了 最近Spring Cloud把版本号从A到Z的伦敦地铁站,改为以日期命名了。
5 0
使用nginx split_clients实现A/B测试
A/B测试是微服务时代一个非常重要的能力,需求快速迭代上线和发布,必须具备对应的灰度测试的能力,对于上线的内容进行隔离验证,减少频繁变更带来的风险。本文介绍如何使用nginx 实现前端和后端服务A/B测试。
3 0
字节工程师自行开发了基于IntelliJ的终极文档套件
众所周知,程序员最讨厌的四件事:写注释,写文档,别人不写注释,别人不写文档。因此,有必要找到降低文档编写和维护成本的方法。目前写技术文档的模式如下:
6 0
新来的妹纸问我 AJAX 请求为什么不安全?我没有回答出来。。。
开篇三问 AJAX请求真的不安全么? AJAX请求哪里不安全?
9 0
【深入浅出版】Java全套学习路线规划及配套视频和笔记
 工作难找,入坑不易,请根据自己的情况再做决定,且行且珍惜!        大家都说近两年疫情导致行情不太好,确实比起往年工作机会是少了很多,但我觉得事事是相对的。我入坑比较早,好几年了,各种各样的人和事都遇到过,也面试过很多人!
8 0
深度剖析Saga分布式事务
saga是分布式事务领域非常重要的事务模式,特别适合解决旅游订票等长期事务。本文将深入分析saga事务的设计原理和解决订票问题的最佳实践。
7 0
再见 Xshell ,这款开源的终端工具逼格更高
作为后端开发,我们经常与Linux系统打交道,避免不了要使用Xshell等终端工具进行远程管理。最近发现了一款主题丰富、功能强大的酷终端工具Tabby,推荐给大家!
6 0
13694
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载