zoukankan      html  css  js  c++  java
  • 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暂停播放

  • 相关阅读:
    iOS推送证书从申请到使用
    leetcode
    C++測量一段代码的执行时时间
    UIView的几个枚举定义
    在CDialog::OnInitDialog设置DEFAULT-BUTTON的注意事项
    转:VS中的路径宏 vc++中OutDir、ProjectDir、SolutionDir各种路径
    COM学习笔记
    关于StdAfx.h和StdAfx.cpp
    解决:CWnd::SetWindowText报Assertion failure
    四种DLL:NON-MFC DLL, Regular DLL Statically/Dynamically Linked to MFC, MFC Extension DLL
  • 原文地址:https://www.cnblogs.com/finehappy/p/6645528.html
Copyright © 2011-2022 走看看