Win10系列:VC++媒体播放控制2
(3)停止视频播放
接下来添加对视频文件播放的停止控制,打开MainPage.xaml文件,并在Grid元素中添加一个"停止"按钮,用于停止视频的播放,代码如下所示:
<Button x:Name="StopButton" Click="StopClick" HorizontalAlignment="Left" Margin="10,0,10,0" Content="停止" Grid.Column="2"></Button>
添加"停止"按钮以后,接下来为此按钮添加单击事件处理函数StopClick。打开MainPage.xaml.h头文件,并添加如下的代码,用来声明StopClick函数。
private:
//停止按钮
void StopClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
声明了StopClick函数以后,接着打开MainPage.xaml.cpp源文件,并添加StopClick函数的实现代码,具体代码如下所示:
//停止按钮
void FileDemo::MainPage::StopClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
//停止当前视频
Video->Stop();
//设置播放速率
Video->DefaultPlaybackRate=1.0;
//显示播放状态
VideoState->Text="播放状态:"+Video->CurrentState.ToString();
}
在上面的代码中,调用MediaElement控件的Stop函数来停止当前视频的播放,然后将MediaElement控件的DefaultPlaybackRate属性赋值为1.0,这是为了将视频的播放速率改变为正常的播放速率。最后使用MediaElement控件中的CurrentState属性得到视频的播放状态,并调用ToString函数将其转换成字符串类型,显示到名为"VideoState"的TextBlock控件中。
添加了"停止"按钮后,前台界面的显示效果如图20-11所示,"停止"按钮显示在"暂停"按钮之后。
图20-11停止播放
(4)添加快进和快退按钮
快进和快退是视频播放的常用功能,下面通过添加"快进"按钮和"快退"按钮来控制视频的快进和快退播放。首先打开MainPage.xaml文件,并在Grid元素中原有代码的基础上继续添加如下的代码:
<Button x:Name="ForwardButton" Click="ForwardClick" HorizontalAlignment="Left" Margin="10,0,10,0" Content="快进" Grid.Column="3"></Button>
<Button x:Name="BackwardButton" Click="BackwardClick" HorizontalAlignment="Left" Margin="10,0,10,0" Content="快退" Grid.Column="4"></Button>
上述的代码添加了两个按钮,分别为"快进"按钮和"快退"按钮。其中"快进"按钮用于快进播放视频,"快退"按钮则用于快退播放视频。
添加了"快进"按钮和"快退"按钮以后,接下来先为"快进"按钮添加单击事件处理函数ForwardClick。打开MainPage.xaml.h头文件,并添加如下的代码,用来声明ForwardClick函数。
private:
//快进播放视频
void ForwardClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
声明了ForwardClick函数以后,接着打开MainPage.xaml.cpp源文件,添加ForwardClick函数的实现代码,具体代码如下所示:
//快进播放视频
void FileDemo::MainPage::ForwardClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
//设置播放速率为2.0
Video->DefaultPlaybackRate=2.0;
//播放视频
Video->Play();
//显示播放状态
VideoState->Text="播放状态:"+Video->CurrentState.ToString();
}
在ForwardClick函数中,将MediaElement控件的DefaultPlaybackRate属性赋值为2.0,表示以正常播放的两倍速度来播放MediaElement控件中的视频文件,从而实现快进功能。接着调用MediaElement控件的Play函数来播放视频。然后使用MediaElement控件中的CurrentState属性得到视频的播放状态,并调用ToString函数将其转换成字符串类型,显示到名为"VideoState"的TextBlock控件中。
添加了ForwardClick函数的实现代码以后,接下来为"快退"按钮添加单击事件处理函数BackwardClick。在MainPage.xaml.h头文件中添加如下的代码,用来声明BackwardClick函数。
private:
//快退播放视频
void BackwardClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
声明了BackwardClick函数以后,接着在MainPage.xaml.cpp源文件中添加BackwardClick函数的实现代码,具体代码如下所示:
//快退播放视频
void FileDemo::MainPage::BackwardClick(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
//设置播放速率为-2.0
Video->DefaultPlaybackRate=-2.0;
//播放视频
Video->Play();
//显示播放状态
VideoState->Text="播放状态:"+Video->CurrentState.ToString();
}
在BackwardClick函数中将MediaElement控件的DefaultPlaybackRate属性赋值为-2.0,使视频以正常播放的两倍速度来倒退播放。接着调用MediaElement控件的Play函数来播放视频。然后使用MediaElement控件中的CurrentState属性得到视频的播放状态,并调用ToString函数将其转换成字符串类型,显示到名为"VideoState"的TextBlock控件中。
添加了"快进"按钮和"快退"按钮后,前台界面的显示效果如图20-12所示,"快进"按钮和"快退"按钮显示在"停止"按钮之后。
图20-12快退和快进按钮
Win10系列:VC++媒体播放控制2的更多相关文章
- Win10系列:VC++媒体播放控制1
在MediaElement控件中定义了用于控制视频播放的函数,如Play.Pause和Stop等函数.本小节将在20.6.1小节所新建的项目基础上继续来介绍如何为视频添加播放控制,并在最后一部分给出项 ...
- Win10系列:VC++媒体播放控制4
(7)音量控制 MediaElement控件具有一个Volume属性,通过设置此属性的值可以改变视频音量的大小.接下来介绍如何实现视频的音量控制,首先打开MainPage.xaml文件,并在Grid元 ...
- 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 ...
随机推荐
- [原][数学][C++][osg]空间向量OA到转到空间向量OB、以及四元素Q1转到Q2的函数
注意:Oa其实在OK的延长线上,上图只是为了好看才把Oa和OK分开了 算法需求如图所示: 已知空间向量OA和空间向量OB 我想算出OA向OB按某角度或者某时间移动 变成空间向量Oa的算法 先说废话:我 ...
- OpenModelica 在特定目录下生成仿真结果文件
OMEdit的仿真结果文件存放在:C:\Users\***\AppData\Local\Temp\OpenModelica\OMEdit 可以在仿真时设置仿真结果文件名,可使用用绝对路径或相对路径 使 ...
- git的安装以及生成ssh key
安装git 在ubuntu系统下输入以下命令安装git软件: sudo apt-get install git 输入以下命令查看git是否安装成功: git --version 如下图所示则表示安装成 ...
- CxImage透明图片合成和文字叠加
1 CxImage的作用 CxImage将几张图片合成一张图片,在一张底图上添加图片,有些图片是有透明效果的,实现图片之间的透明重叠效果.另外还可以添加文字. (1)背景图片mymix ...
- Qt访问注册表并调用子进程
在实际应用中需要在一个进程启动另外一个进程,可以将子进程的路径写入注册表中,然后主进程读取注册表中子进程路径,启动子进程,并以命令行参数的形式传入参数,启动子进程.具体实现方式如下 (1) ...
- python中的面向对象学习以及类的封装(这篇文章初学者一定要好好看)
这篇文章对于初学者可以很有效的理解面对过程.面对对象 一.首先介绍一下面向过程和面向对象的比较: 面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何 ...
- php递归方法
<?phpheader("Content-type:text/html;charset=utf-8");$city=array( array('id'=>1,'name ...
- 通过 rufus 创建启动U盘,安装 VMWare Esxi
现在谁还用光盘安装系统啊. 做出启动盘后,U盘启动进行安装才是王道. https://www.starwindsoftware.com/blog/create-an-esxi-6-5-installa ...
- Feign
Feign简介 Feign是一个声明式的Web服务客户端,使用Feign可使得Web服务客户端的写入更加方便. 它具有可插拔注释支持,包括Feign注解和JAX-RS注解.Feign还支持可插拔编码器 ...
- 用R的dgCMatrix包来构建稀疏矩阵 | sparse matrix by dgCMatrix
sparse matrix是用来存储大型稀疏矩阵用得,单细胞表达数据基本都用这个格式来存储,因为单细胞很大部分都是0,用普通文本矩阵存储太占空间. 使用也是相当简单: library("Ma ...