Win10系列:VC++媒體播放控制2

來源:互聯網
上載者:User

標籤:控制項   播放   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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.