- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C应用程序设计教程(第2版)第06章-多媒体剖析
6.2.3 MediaPlayer类 System.Windows.Media.MediaPlayer类用于播放音频、视频以及包含音频的视频,本节仅介绍播放音频的方法。使用MediaPlayer类,必须安装微软的Windows Media Player10及以上版本,MediaPlayer类支持Media Player10支持的所有播放文件格式。使用MediaPlayer类可以很容易创建一个媒体播放器。 【例6.16】使用MediaPlayer类播放音频文件最简单例子。在窗体增加按钮,其事件函数如下,单击按钮将播放指定文件的音乐,自动识别不同扩展名的文件。 private void button1_Click(object sender, RoutedEventArgs e) { MediaPlayer player = new MediaPlayer(); player.Open(new Uri(@E:\应用程序设计教程(第二版)\Example\test2.wav)); player.Play(); } MediaPlayer类常用方法和属性如下,这些方法和属性原则上也适合视频。 方法public void Open(Uri source):将参数指定文件作为播放文件,根据文件扩展名选择播放方式。将播放媒体初始位置作为当前播放位置。 方法public void Pause():暂停播放,保留当前播放位置。 方法public void Play():从当前位置播放媒体。 方法public void Stop():停止媒体播放,将播放媒体初始位置作为当前播放位置。 属性Balance:左右扬声器音量之间的平衡,介于-1到1范围内的Double类型数据,-1表示100%的左侧扬声器,为1表示100%的右侧扬声器,默认值为 0。 属性Clock:为了控制音频或视频的播放节奏,MediaPlayer类需要一个播放时钟,MediaPlayer类对象默认内建时钟,称为内部时钟模式。从该属性可以得到内建时钟,该时钟是MediaClock类对象。也可以为MediaPlayer类制定一个外部播放时钟,称为外部时钟模式。如果指定了外部时钟,就不能使用MediaPlayer类的Play、Pause、Stop等方法及属性Position控制媒体播放、暂停、停止等功能,必须使用MClock.Controller类中的方法。参见例6.18。 只读属性NaturalDuration:Duration类对象,播放文件所需总时间。 属性Position:TimeSpan类对象,表示已播放的持续时间。 属性Source:Uri 类表示的媒体文件位置。 属性Volume:音频输出音量,用Double类型0与1数据表示音量。默认值为 0.5。 一个音频播放器应有如下功能:暂停和播放键、停止从新开始、进度条并可以拖动、显示总时间和当前时间进度,控制音量、静音、循环以及如何显示歌词。 利用以上属性和方法可以实现音频播放器播放大部分功能。其中进度条只要和属性Position关联即可。循环播放可在播放结束后的MediaEnded事件函数中重新从开始位置播放即可。显示歌词需要歌词文件,并和播放的音乐同步,也是可以实现的。有兴趣读者可以试验一下。 MediaPlayer类不能用XAML标记。 6.2.4 MediaElement类 System.Windows.Controls.MediaElement类克服了MediaPlayer类不能用XAML标记缺点,完全支持XAML,该类属性及方法和MediaPlayer类类似,也有方法Play、Pause和Stop,有属性Balance、NaturalDuration、Position、Clock、Source和Volume,只要将属性LoadedBehavior设置为Manual,表示装载播放的媒体文件后,采用手工控制,即使用Play、Pause和Stop等方法控制,就可以方便地象使用MediaPlayer类那样控制媒体文件播放。 【例6.17】用MediaElement播放音频文件,实现指定播放文件、暂停和重新播放功能。 (1)建立新项目,在Grid标记中放置MediaElement控件,标记如下: MediaElement Source=E:\应用程序设计教程(第二版)\Example\test2.wav LoadedBehavior=Manual Name=p MediaEnded=Element_MediaEnded UnloadedBehavior=Stop/ (2)MediaElement类MediaEnded事件函数如下: private void Element_MediaEnde
文档评论(0)