zoukankan      html  css  js  c++  java
  • 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快退和快进按钮

  • 相关阅读:
    不务正业系列-浅谈《过气堡垒》,一个RTS玩家的视角
    [LeetCode] 54. Spiral Matrix
    [LeetCode] 40. Combination Sum II
    138. Copy List with Random Pointer
    310. Minimum Height Trees
    4. Median of Two Sorted Arrays
    153. Find Minimum in Rotated Sorted Array
    33. Search in Rotated Sorted Array
    35. Search Insert Position
    278. First Bad Version
  • 原文地址:https://www.cnblogs.com/finehappy/p/6645530.html
Copyright © 2011-2022 走看看