Win10系列:VC++媒体播放控制1
在MediaElement控件中定义了用于控制视频播放的函数,如Play、Pause和Stop等函数。本小节将在20.6.1小节所新建的项目基础上继续来介绍如何为视频添加播放控制,并在最后一部分给出项目的完整前台代码,读者可以参照此代码来布局前台界面。
(1)启动视频播放
首先打开MainPage.xaml文件,并在Grid元素中原有代码的基础上继续添加如下的代码:
<TextBlock x:Name="VideoState" Margin="114,13,0,0" FontSize="15" HorizontalAlignment="Left" Text="播放状态:"></TextBlock>
<Button x:Name="PlayButton" Click="PlayClick" HorizontalAlignment="Left" Margin="114,0,10,0" Content="播放" Grid.Column="0"></Button>
在上面的代码中,添加一个TextBlock控件和一个"播放"按钮,将这个TextBlock控件命名为VideoState,用于显示视频的播放状态。"播放"按钮用来播放MediaElement控件中的视频文件。
添加上述的代码以后,接下来为"播放"按钮添加单击事件处理函数PlayClick。打开MainPage.xaml.h头文件,并添加如下的代码,用来声明PlayClick函数。
private:
//播放按钮
void PlayClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
声明了PlayClick函数以后,打开MainPage.xaml.cpp源文件,添加PlayClick函数的实现代码,具体代码如下所示:
//播放按钮
void FileDemo::MainPage::PlayClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
//设置播放速率
Video->DefaultPlaybackRate=1.0;
//播放视频
Video->Play();
//显示播放状态
VideoState->Text="播放状态:"+Video->CurrentState.ToString();
}
在上面的代码中,MediaElement控件的DefaultPlaybackRate属性用于设置视频的播放速率,这里将此属性赋值为1.0,表示以正常的播放速率播放MediaElement控件中的视频文件。然后调用MediaElement控件的Play函数开始播放视频文件。接下来使用MediaElement控件中的CurrentState属性得到视频的播放状态,并调用ToString函数将其转换成字符串类型,显示到名为"VideoState"的TextBlock控件中。
前台界面的显示效果如图20-9所示。

图20-9播放视频
(2)暂停视频播放
下面继续添加对视频文件播放的暂停控制。首先布局前台界面,打开MainPage.xaml文件,并在Grid元素中添加一个"暂停"按钮,用于暂停视频的播放,代码如下所示:
<Button x:Name="PauseButton" Click="PauseClick" HorizontalAlignment="Left" Margin="10,0,10,0" Content="暂停" Grid.Column="1"></Button>
添加了"暂停"按钮以后,接下来为此按钮添加单击事件处理函数PauseClick。打开MainPage.xaml.h头文件,并添加如下的代码,用来声明PauseClick函数。
private:
//暂停按钮
void PauseClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
声明了PauseClick函数以后,接着打开MainPage.xaml.cpp源文件,并添加PauseClick函数的实现代码,具体代码如下所示:
//暂停按钮
void FileDemo::MainPage::PauseClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
//暂停正在播放的视频
Video->Pause();
VideoState->Text="播放状态:"+Video->CurrentState.ToString();
}
在PauseClick函数中调用了MediaElement控件的Pause函数,执行Pause函数时将暂停MediaElement控件中正在播放的视频。然后使用MediaElement控件中的CurrentState属性得到视频的播放状态,并调用ToString函数将其转换成字符串类型,显示到名为"VideoState"的TextBlock控件中。
添加了"暂停"按钮后,前台界面的显示效果如图20-10所示,"暂停"按钮显示在"播放"按钮之后。

图20-10暂停播放
Win10系列:VC++媒体播放控制1的更多相关文章
- Win10系列:VC++媒体播放控制4
(7)音量控制 MediaElement控件具有一个Volume属性,通过设置此属性的值可以改变视频音量的大小.接下来介绍如何实现视频的音量控制,首先打开MainPage.xaml文件,并在Grid元 ...
- Win10系列:VC++媒体播放控制2
(3)停止视频播放 接下来添加对视频文件播放的停止控制,打开MainPage.xaml文件,并在Grid元素中添加一个"停止"按钮,用于停止视频的播放,代码如下所示: <Bu ...
- Win10系列:VC++媒体播放控制3
(5)添加视频进度条 视频进度条可以用来显示当前视频的播放进度,并可以通过拖动视频进度条来改变视频的播放进度.接下来介绍如何实现视频进度条,首先打开MainPage.xaml文件,并在Grid元素中添 ...
- Win10系列:VC++媒体播放
媒体播放包括视频播放和音频播放,在开发Windows应用商店应用的过程中可以使用MediaElement控件来播放视频文件和音频文件.本节将通过一个具体的示例介绍如何使用MediaElement控件来 ...
- Movist for Mac(高清媒体播放器)v2.0.7中文特别版
Movist for Mac中文破解版是目前Mac平台上最好用的视频播放器,功能强大简单好用.movist mac版拥有美观简洁的用户界面,提供多种功能,支持视频解码加速高品质的字幕,全屏幕浏览,是与 ...
- Plyr – 简单,灵活的 HTML5 媒体播放器
Plyr 是一个简单的 HTML5 媒体播放器,包含自定义的控制选项和 WebVTT 字幕.它是只支持现代浏览器,轻量,方便和可定制的媒体播放器.还有的标题和屏幕阅读器的全面支持. 在线演示 ...
- 【C语言入门教程】4.10 综合实例 - 媒体播放器
4.10.1 建立播放列表 数据字典 名称 数据类型 说明 MAX_LENGTH 符号常量 用于定义数组长度,表示列表最大长度 MAX_FILE_LENGTH 符号常量 用于定义数组长度,表示文件名最 ...
- .net C# 网页播放器 支持多种格式 媒体播放器 播放器 代码
.avi格式代码片断如下:<object id='video' width='400' height='200' border='0' classid='clsid:CFCDAA03-8BE4- ...
- C#编写媒体播放器--Microsoft的Directx提供的DirectShow组件,该组件的程序集QuartzTypeLib.dll.
使用C#编写媒体播放器时,需要用到Microsoft的Directx提供的DirectShow组件.用该组件前需要先注册程序集QuartzTypeLib.dll. 1.用QuartzTypeLib.d ...
随机推荐
- ado_基本连接操作【四】
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data. ...
- python使用sessions模拟登录淘宝
之前想爬取一些淘宝的数据,后来发现需要登录,找了很多的资料,有个使用request的sessions加上cookie来登录的,cookie的获取在登录后使用开发者工具可以找到.不过这个登录后获得的网页 ...
- 学习笔记42—Win7下安装Linux双系统
1.下载Linux镜像:http://mirrors.163.com/ubuntu-releases/18.04.1/ 方法一: 1.用软通牒软件将Linux的镜像写入空的优盘中, 具体如下: 1) ...
- openvswitch vlan下的虚拟机与物理机通信
1,安装openvswitch ,图形界面显示等用到的安装包. yum install libvirt openvswitch python-virtinst xauth tigervnc -y 2, ...
- 日常英语---十四、Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中)
日常英语---十四.Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中) 一.总结 ...
- Windows Updateエラー 80072EE2
遗憾的是,下面的做完了,还是没用! 然后有试了把防火墙打开(原来是关闭),IE的代理也是手动入力(原来是自动寻找). 竟然成了. Windows ファイアウォールはこのバージョンの Windows に ...
- Ubuntu16.04安装8821CE 无线网卡无驱动
已解决 参考链接:https://unix.stackexchange.com/question ... -mint-18-2 内容 Worked solution (Requirements: ke ...
- xml的解构与组装
xml的结构 <xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName>< ...
- 第一阶段——站立会议总结DAY04
1.昨天做了什么:未取得一点进步. 2.今天准备做什么:准备在网上搜索一下微信个人中心的相关信息,代码资料. 3.遇到的困难:界面简陋,还是对于深层次的,比如逻辑,还是不怎么会用.
- python模块安装报错大全
报错 环境 解决 手动安装pip install mysqlclient 报错: _mysql.c(29) : fatal error C1083: Cannot open include file: ...