標籤:控制項 播放 rate 介面 font 設定 text route pcl
(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