VC6.0製作簡單的avi視頻播放器

來源:互聯網
上載者:User

目前,專門用於設計多媒體應用的軟體很多。而VC6.0也提供了一種動畫控制項來實現簡單多媒體動畫檔案的播放。我們建立一個基於對話方塊的工程,取名為player,具體步驟如下:


  圖1

  用MFC AppWizard(exe)建立一個名為player的工程,單擊OK,單選Dialog based。接下來連續點擊Next三次,單擊Finish,最後點擊OK。C++就自動產生一個對話方塊。為使其具有自己的風格,可用Mouse點擊上面已有的按鈕(【確定】、【取消】和ToDo:在這裡設定對話控制)加以選定後單擊Mouse右鍵選擇“Cut”使它們消失。然後使用Controls中的工具(1個控制項框和1個動畫控制項、4個按鈕)將對話方塊繪製成圖1所示;控制項屬性如表所示;用Ctrl+W進入MFC ClassWizard後依照屬性工作表編輯(2)。

動畫控制項的使用,請看下面的連結

http://www.qqgb.com/Program/VC/VCcontrol/Program_104570.html

  在對話方塊類CplayDlg中添加一個Cstring類型的成員變數m_filename,再用Class Wizard為動畫控制項聲明一個對象m_animate,具體程式如下所示:


  圖2

  class CplayerDlg : public CDialog

  {

  //其他程式

  public : CString m_filename;

  CAnimateCtrl m_animate;

  //其他程式

  }

  Edit Code分別為成員函數OnSelect( )、OnPlay( )、OnStop( )、OnOK( )添加代碼:

  Void CplayerDlg :: OnSelect( )

  {

  CFileDialog dlg(TRUE,NULL,NULL,

  OFN_HIDEREADONLY|

  OFN_OVERWRITEPROMPT,_T("Animation|*.AVI|"));

  if(dlg.DoModal()==IDOK)

  m_filename=dlg.GetPathName( );

  Void CplayerDlg :: OnPlay( )

  {

  CFileStatus m_status;

  if(!CFile::GetStatus(m_filename,m_status))

  MessageBox("沒有該檔案,請選擇檔案",NULL,MB_OK);

  Else

  {

  m_animate.Stop( );

  m_animate.Close( );

  m_animate.Open(m_filename);

  m_animate.Play(0,-1,2);

  }

  }

  Void CplayerDlg :: OnStop( )

  {

  m_animate.stop( );

  }

  Void CplayerDlg :: OnOK( )

  {

  m_animate.Stop( );

  m_animate.close( );

  CDialog::OnOK( );

  }

  該程式在Windows 2000 Professional + Microsoft Visual C++6.0 中編譯通過。

id caption messages add function
idc_select 選擇檔案 bn_clicked onselect
idc_play 播放檔案 bn_clicked onplay
idc_stop 停止播放 bn_clicked onstop
idok 退出程式 bn_clicked onok
idc_animate      
idc_static 控制欄    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.