15. 用下列代碼替換Form1.cs中的button3組件的Click事件對應的處理代碼, 下列代碼的功能暫停播放當前打開的視頻文件:
private void button3_Click ( object sender, System.EventArgs e )
{
if ( MyVideo != null )
{
MyVideo.Pause ( ) ;
}
}
16. 用下列代碼替換Form1.cs中的button4組件的Click事件對應的處理代碼, 下列代碼的功能停止播放當前打開的視頻文件:
private void button4_Click ( object sender, System.EventArgs e )
{
if ( MyVideo != null )
{
MyVideo.Stop ( ) ;
}
}
17. 在button4的Click事件之後,添加下列代碼,下列代碼的功能是初始化 Form窗體中的button組件:
//初始化窗體中各按鈕的狀態
private void Form1_Load ( object sender, System.EventArgs e )
{
if ( MyVideo == null )
{
button2.Enabled = false ;
button3.Enabled = false ;
button4.Enabled = false ;
}
else
{
button2.Enabled = true ;
button3.Enabled = true ;
button4.Enabled = true ;
}
}
18. 至此,在上述步驟都正確完成,並全部保存後,【Visual C#中使用 DrIEctX實現媒體播放】項目的全部工作就完成了。此時單擊快捷鍵【F5】運行程 序後,圖04是播放視頻文件時得到的程序運行界面:
圖04:【Visual C#中使用DrIEctX實現媒體播放】項目的運行界面
四.總結:
Direct X的出現的確解決了程序員的很多底層的工作,把面對各種煩雜硬件的 工作交給了Direct X了。雖然Direct X從非托管版本發展到現在的托管版本,爭 論一直存在,但越來越多的開發商把自己的軟件用托管的Direct X或者結合使用 托管和非托管Direct X開發,也從另外一個方面證明了托管的Direct X的生命力 。本文結合一個示例具體介紹Visual C#調用非托管Direct X的方法實現視頻播放 ,這對於托管Direct X來說只是其中的一個小應用。最後希望此篇文章對那些希 望了解、掌握在Visual C#調用Direct X編寫游戲程序的朋友有所幫助。