WPF多媒体各种功能详解

开发 开发工具
WPF多媒体的功能主要包括:媒体 API ;媒体播放模式 ;独立模式;时钟模式等。对于这些WPF多媒体的功能我们需要熟练的掌握其应用方法。

WPF多媒体的使用,为用户带来非常好的使用效果。那么对于这一功能的具体含义,我们将在文章中做一个详细的介绍,希望对大家有用。#t#

媒体 API

MediaElement 和 MediaPlayer 用于播放音频、视频以及包含音频内容的视频。这两种类型都可以以交互方式或时钟驱动方式进行控制。这两种类型都至少依赖 Microsoft Windows Media Player 10 OCX 进行媒体播放。但这两种 API 的用法因具体情况而异。

MediaElement 是一个 UIElement,它受 布局系统 支持并可用作许多控件的内容。它也可用在可扩展应用程序标记语言 (XAML) 以及代码中。另一方面,MediaPlayer 用于 Drawing 对象,因而缺少对布局的支持。只能使用 VideoDrawing 或通过直接与 DrawingContext 进行交互来呈现使用 MediaPlayer 加载的媒体。不能在 XAML 中使用 MediaPlayer。

说明:
如果将媒体与应用程序一起分发,则不能将媒体文件用作项目资源。在项目文件中,必须将媒体类型改设为 Content,并将 CopyToOutputDirectory 设置为 PreserveNewest 或 Always。

媒体播放模式

说明:
MediaElement 和 MediaPlayer 具有类似的成员。本部分中的链接指的是 MediaElement 类成员。除非明确说明,否则链接到 MediaElement 类中的成员也可在 MediaPlayer 类中找到。

若要了解 Windows Presentation Foundation (WPF) 中的媒体播放,需要先了解可播放媒体的不同模式。MediaElement 和 MediaPlayer 可以用于两种不同的媒体模式中:独立模式和时钟模式。媒体模式由 Clock 属性确定。如果 Clock 为 null,则媒体对象处于独立模式。如果 Clock 不为 null,则媒体对象处于时钟模式。默认情况下,媒体对象处于独立模式。

独立模式

在独立模式下,由媒体内容驱动媒体播放。独立模式实现了下列功能选项:

可直接指定媒体的 Uri。

可直接控制媒体播放。

可修改媒体的 Position 和 SpeedRatio 属性。

通过设置 MediaElement 对象的 Source 属性或者调用 MediaPlayer 对象的 Open 方法来加载媒体。

若要在独立模式下控制媒体播放,可使用媒体对象的控制方法。提供了下列控制方法:Play、Pause、Close 和 Stop。对于 MediaElement,仅当将 LoadedBehavior 设置为 Manual 时,使用这些方法的交互式控件才可用。当媒体对象处于时钟模式时,这些方法将不可用。

时钟模式

在时钟模式下,由 MediaTimeline 驱动媒体播放。时钟模式具有下列特征:

媒体的 Uri 是通过 MediaTimeline 间接设置的。

可由时钟控制媒体播放。不能使用媒体对象的控制方法。

可通过以下方法加载媒体:设置 MediaTimeline 对象的 Source 属性,从时间线创建时钟,并将时钟分配给媒体对象。当位于 Storyboard 中的 MediaTimeline 针对 MediaElement 时,也可用这种方法加载媒体。

若要在时钟模式下控制媒体播放,必须使用 ClockController 控制方法。ClockController 是从 MediaClock 的 ClockController 属性获取的。如果尝试在时钟模式下使用 MediaElement 或 MediaPlayer 对象的控制方法,则会引发 InvalidOperationException。

责任编辑:曹凯 来源: fengfly.com
相关推荐

2010-01-27 16:21:29

Android多媒体播

2010-01-27 15:15:13

Android多媒体录

2013-08-28 16:08:19

多媒体Windows8.1

2011-06-24 10:21:11

Qt phonon 多媒体

2009-12-25 13:41:33

2009-12-25 16:40:49

WPF优势

2010-06-30 10:38:05

2011-06-09 10:07:28

Qt phonon

2009-12-17 13:34:05

2009-12-23 16:39:55

WPF命令

2009-12-25 10:46:36

WPF Page

2013-12-17 13:29:04

iOS开发多媒体

2009-12-25 11:04:51

WPF Border

2010-10-27 11:27:50

MAS视频监控H3C

2013-12-17 11:18:53

iOS开发多媒体API

2020-12-20 09:05:30

腾讯多媒体5G

2009-12-28 09:13:50

WPF容器控件

2009-12-28 14:51:59

WPF元素树

2009-12-28 14:40:08

WPF属性

2011-08-02 10:36:02

iOS开发 SDK 多媒体
点赞
收藏

51CTO技术栈公众号