freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

10多媒體應用程序設計(編輯修改稿)

2025-03-08 14:54 本頁面
 

【文章內容簡介】 MCIPlayerDlg::MciNotify(WPARAM wParam,LPARAM lParam) { if (wParam==MCI_NOTIFY_SUCCESSFUL) //成功播放完成后重置標識 { m_PSign=FALSE。//設置正在播放標識為 FALSE m_ASign=FALSE。//設置正在暫停標識為 FALSE return 0。 } return 1。//否則返回錯誤 } 24 利用 Windows Media Player控件實現(xiàn)多媒體程序設計 【 例 123】 編寫應用程序,使得用戶可以分別選擇一個視頻文件和一個音頻文件來同時播放或者分別播放 25 26 為 CPlayMediaView類添加四個成員,兩個用來播放多媒體文件,兩個用來保存待播放的文件名,修改后的: class CWMPPlayer4。 // 前示聲明 class CPlayMediaView : public CView { protected: // create from serialization only CPlayMediaView()。 DECLARE_DYNCREATE(CPlayMediaView) // Attributes public: CPlayMediaDoc* GetDocument()。 CWMPPlayer4 * m_Video。 // 用來播放視頻 CWMPPlayer4 * m_Music。 // 用來播放音頻 CString m_strVideo。 // 視頻文件名 CString m_strMusic。 // 音頻文件名 // Operations … }。 初始化和釋放指針 , 修改 : include include include CPlayMediaView::CPlayMediaView() { // TODO: add construction code here m_Video = new CWMPPlayer4。 m_Music = new CWMPPlayer4。 } CPlayMediaView::~CPlayMediaView() { delete m_Video。 delete m_Music。 } 27 對于 m_Video和 m_Music兩個變量 ,由于對應的是 ActiveX控件 , 因此 不但需要 new來初始化指針 , 還需要使用它的 Create 函數來創(chuàng)建初始化ActiveX控件 。 由于兩個控件是作為 View的子窗口運行的 , 通常它們的創(chuàng)建是在View的 OnCreate函數中完成 , 因此需要響應 View的 WM_CREATE消息 , 并在其中創(chuàng)建兩個控件: 28 int CPlayMediaView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == 1) return 1。 // TODO: Add your specialized creation code here HCURSOR hCursor=::LoadCursor(NULL, IDC_ARROW)。 // 獲得標準箭頭鼠標指針 m_VideoCreate(AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS | CS_PARENTDC, hCursor, 0, 0), NULL, WS_VISIBLE|WS_CHILD, CRect(0,0,0,0), this, 0)。 // 創(chuàng)建視頻窗口 // 由于使用單獨的音頻來播放,將視頻設置為靜音模式 m_VideoGetSettings().SetMute(TRUE)。 m_MusicCreate(AfxRegisterWndClass(CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS | CS_PARENTDC, hCursor, 0, 0), NULL, WS_VISIBLE|WS_CHILD, CRect(0,0,0,0), this, 0)。 // 創(chuàng)建音頻窗口 m_MusicShowWindow(SW_HIDE)。 // 將音頻窗口設置為不可見 return 0。 } 29 們添加 “ 操作 ” 及相關菜單項 30 ID_OPER_OPENV ID_OPER_PLAYV ID_OPER_STOPV ID_OPER_OPENA ID_OPER_PLAYA ID_OPER_STOPA 31 void CPlayMediaView::OnOperOpenv() { static char BASED_CODE szFilter[] = Video Files (*.avi。*.mpg。*.mpeg)|*.avi。*.mpg。*.mpeg|。 // 只允許打開視頻文件 CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter)。 if(() == IDOK) m_strVideo = ()。// 獲得視頻文件名 } void CPlayMediaView::OnOperPlayv() { m_VideoGetControls().stop()。 // 首先停止正在播放的 m_VideoGetSettings().SetAutoStart(TRUE)。 // 準備播放 m_VideoSetUrl(m_strVideo)。 // 載入視頻文件自動播放 } 32 void CPlayMediaView::OnOperStopv() { m_VideoGetControls().stop()。 // 停止播放 } void CPlayMediaView::OnOperOpena() { // 只允許打開音頻文件 static char BASED_CODE szFilter[] = Audio Files (*.wav。*.mp3)|*.wav。*.mp3||。 CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter)。 if(() == IDOK) m_strMusic = ()。// 獲得音頻文件名 } 33 void CPlayMediaView::OnOperPlaya() { m_MusicGetControls().stop()。 // 首先停止正在播放的 m_MusicGetSettings().SetAutoStart(TRUE)。 // 準備播放 m_MusicSetUrl(m_strMusic)。 // 載入視頻文件自動播放 } void CPlayMediaView::OnOperStopa() { m_MusicGetControls().stop()。 // 停止播放 } 34 有了以上代碼,程序還不能夠正常運行,需要為播放視頻的控件設置窗口尺寸。為此需要響應 View的WM_SIZE消息,該消息響應函數如下: void CPlayMediaView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy)。 // TODO: Add your mes
點擊復制文檔內容
電大資料相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1