亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.cpp

?? < VC++視頻音頻開發(fā)>> 這本書的源碼
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
{ 
	POINT     pt;
	POINT     pt2;
    MSG       Msg;
    WNDCLASS  W;

	/*
	 * 為對話框和資源保存一個全局實例
	 *
	 */

	hInstance = hInst;

	showing_cursor = 1;
	firstStart     = 1;

	/*
	 * 裝載選項
	 *
	 */

	LoadOptions();

	/*
     * 初始化視頻子系統(tǒng)
     *
     */

	playlist = new Playlist();
	playback = new MediaPlayback();
	skinList = new SkinList();
	resizer  = new Resizer();

	/*
	 * 分析命令行和重載選項
	 *	
     */

	ParseCmdLine(lpszCmdParam);

	/*
	 * 設(shè)置缺省設(shè)置
	 *
	 */

	playback->SetLoop(options.loop);
	playback->videoDecoder->decoreDecoder->SetQuality(options.postprocessing);
	playback->SetDesktopMode(FALSE);

	/*
	 * 窗口大小調(diào)整
	 *
	 */

	windowRect.left   = 0;
	windowRect.right  = DEFAULT_SKIN_WIDTH;
	windowRect.top    = 0;
	windowRect.bottom = DEFAULT_SKIN_HEIGHT;

    AdjustWindowRect(&windowRect, WS_POPUP|WS_SIZEBOX, 0);

	/*
	 * 初始化COM庫
	 *
	 */

	CoInitialize(NULL);	

	/*
	 * 注冊Window類
	 * 
	 */

	memset(&W, 0, sizeof(WNDCLASS));
   
	W.style         = CS_HREDRAW | CS_VREDRAW | CS_PARENTDC;
	W.lpfnWndProc   = WndProc;
	W.hInstance     = hInst;
	W.hbrBackground = (HBRUSH)(0);
	W.hCursor       = LoadCursor(hInst, MAKEINTRESOURCE(IDC_CURSOR1));
	W.hIcon         = LoadIcon(hInst, MAKEINTRESOURCE(IDB_ICON));
	W.lpszClassName = Name;
	W.lpszMenuName  = NULL;

	RegisterClass(&W);

   /*
    * 裝載菜單,并為最近文件鏈表改變菜單
	*
    */

	popupMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_MENU1));

	ReBuildRecentFilesMenu();
	ReBuildPlaylistMenu();

   /*
    * 產(chǎn)生主窗口
    *
    */

	hwnd = CreateWindow(Name, Name, WS_POPUP | WS_SIZEBOX, 
		                options.posX, options.posY, 
						windowRect.right - windowRect.left, 
						windowRect.bottom - windowRect.top, 
						NULL, NULL, hInst, NULL);
   /*
    * 設(shè)置窗口區(qū)域
    *
    */

	GetClientRect(hwnd, &clientRect);
	GetWindowRect(hwnd, &windowRect);

	pt.x = clientRect.left;
	pt.y = clientRect.top;

	ClientToScreen(hwnd, &pt);

	pt2.x = clientRect.right;
	pt2.y = clientRect.bottom;

	ClientToScreen(hwnd, &pt2);

	SetWindowRgn(hwnd, CreateRectRgn( pt.x  - windowRect.left, 
		  							  pt.y  - windowRect.top,
									  (windowRect.right - windowRect.left) - (windowRect.right - pt2.x),
									  (windowRect.bottom - windowRect.top) - (windowRect.bottom - pt2.y)), TRUE); 
	DragAcceptFiles(hwnd, TRUE);

   /*
    * 啟動定時器
    *
    */

	SetTimer(hwnd, TIMER_ID, TIMER_RATE, NULL);

	/*
	 * 裝載加速鍵
	 */

	hAccel = LoadAccelerators(hInst, MAKEINTRESOURCE(IDR_ACCELERATOR));	

	/*
	 * 設(shè)置圖標
	 */

	SetClassLong(hwnd, GCL_HICON, (LONG) LoadIcon(hInst, MAKEINTRESOURCE(IDB_ICON))); 
 
	/*
	 * 菜單項 
	 */

	CheckMenuItem(popupMenu, (UINT)ID_LOOP, options.loop ? MF_CHECKED : MF_UNCHECKED);
	CheckMenuItem(popupMenu, (UINT)ID_ON_TOP, options.on_top ? MF_CHECKED : MF_UNCHECKED);

	switch(options.aspect_ratio) {

		case ASPECT_RATIO_ORIGINAL:

			CheckMenuItem(popupMenu, (UINT)ID_ASPECT_FREE, MF_UNCHECKED);
			CheckMenuItem(popupMenu, (UINT)ID_ASPECT_ORIGINAL, MF_CHECKED);
			break;
			
		case ASPECT_RATIO_TV:

			CheckMenuItem(popupMenu, (UINT)ID_ASPECT_FREE, MF_UNCHECKED);
			CheckMenuItem(popupMenu, (UINT)ID_ASPECT_43, MF_CHECKED);
			break;

		case ASPECT_RATIO_WIDE:

			CheckMenuItem(popupMenu, (UINT)ID_ASPECT_FREE, MF_UNCHECKED);
			CheckMenuItem(popupMenu, (UINT)ID_ASPECT_169, MF_CHECKED);
			break;

		case ASPECT_RATIO_CUSTOM:

			CheckMenuItem(popupMenu, (UINT)ID_ASPECT_FREE, MF_UNCHECKED);
			CheckMenuItem(popupMenu, (UINT)ID_ASPECT_CUSTOM, MF_CHECKED);
			break;
	}

   /*
    * 裝載外殼
    *
    */

   skin = new Skin(hInst, hwnd);

   if(strcmp(skinPath, "Default") == 0) {

	   skin->LoadDefault(hInst, hwnd);
   }
   else {
	
	   skin->Load(skinPath, hwnd);
   }

   /*
    * 使屏保無效,并得到當前狀態(tài)
    *
    */
		
	screenSaverActive = FALSE;
	
	SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, &screenSaverActive, 0);

	if(options.disable_screen_saver) {

		SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE, NULL, 0);
   }

   /*
    * 開始顯示
	*
    */

	ShowWindow(hwnd, nCmdShow);
	UpdateWindow(hwnd);

	GetWindowRect(hwnd, &windowRect);

	if(options.on_top)
		SetWindowPos(hwnd, (HWND) -1,  windowRect.left, windowRect.top, windowRect.right - windowRect.left, windowRect.bottom - windowRect.top, TRUE);

	/*
	 * 消息循環(huán)
	 *
	 */

	while (TRUE)
    {

	   /*
		* 得到消息
		*/

	   if (!GetMessage(&Msg, NULL, 0, 0))
		return (int) Msg.wParam;

		if (!TranslateAccelerator(hwnd, hAccel, &Msg)) {
				
			TranslateMessage(&Msg); 
			DispatchMessage(&Msg); 
		} 
		else {
	           
			TranslateMessage(&Msg);
		    DispatchMessage(&Msg);
		}
   }

   return Msg.wParam;
}

/**************************************************************************************
 *                                                                                    *
 * - OpenFileForPlaying():                                                            *
 *                                                                                    *
 *   ———打開當前播放鏈表位置                                                       *
 *                                                                                    *
 **************************************************************************************/

void OpenFileForPlaying(HWND hwnd) {

	char *filename;
	RECT rect, windowrect;

	/*
	 * 關(guān)閉最后的重放
	 *
	 */

	playback->Close();
	filename = playlist->GetCurrentItem()->filename;

	/*
	 * 如果沒有文件被打開,簡單的返回
	 * 
	 */

	if(filename == NULL) {

		return;
	}

	openning_network = FALSE;

	/*
	 * 清除
	 *
	 */
	
	if(strstr(filename, "http://") != NULL ||
	   strstr(filename, "HTTP://") != NULL || 
	   strstr(filename, "FTP://")  != NULL ||
	   strstr(filename, "ftp://")  != NULL) {

		if(playback->OpenMediaSource(filename) == MP_RESULT_OK) {

			openning_network = TRUE;

			return;
		}

		MP_ERROR("The network location you selected could not be opened");

		return;
	}
	else {

	if(playback->OpenMedia(filename, hwnd) == MP_RESULT_OK) {

		/*
		 * 第一次調(diào)整窗口大小
		 */

		DWORD i, width, height;

		switch(options.aspect_ratio) {

		case ASPECT_RATIO_FREE:
		case ASPECT_RATIO_ORIGINAL:

			width  = playback->GetVideoWidth();
			height = playback->GetVideoHeight();
			break;

		case ASPECT_RATIO_TV:
		case ASPECT_RATIO_WIDE:
		case ASPECT_RATIO_CUSTOM:

			width  = playback->GetVideoWidth();
			height = width*aspectRatios[options.aspect_ratio].yFactor/aspectRatios[options.aspect_ratio].xFactor;
			break;
		}

		if(!playback->fullscreen) {
			GetWindowRect(hwnd, &windowrect); 
		}
		
		if(compact_mode) {

			rect.left   = 0;
			rect.top    = 0;
			rect.right  = width;
			rect.bottom = height;
		}
		else {

			rect.left   = 0;
			rect.top    = 0;
			rect.right  = width + 15;
			rect.bottom = height + 115 + 22;
		}

		AdjustWindowRect(&rect, WS_POPUP|WS_SIZEBOX, FALSE);

		fullwindowRect.right  = fullwindowRect.left + rect.right - rect.left;
		fullwindowRect.bottom = fullwindowRect.top  + rect.bottom - rect.top;

		if(!playback->fullscreen) {
	
			MoveWindow( hwnd, windowrect.left, windowrect.top, rect.right - rect.left, rect.bottom - rect.top, TRUE);
			playback->SetVideoRect(skin->GetVideoRect());
		}

		/*
		 * 更新最近的文件鏈表
		 */
		
		UpdateRecentFilesMenu(filename);

		/*
		 * 更新菜單
		 */

		if(!playback->IsInFullscreen()) {

			ChangeMenuForNormalMode();
			
			/*
			 * 更新最近文件鏈表
			 */
		
			ReBuildRecentFilesMenu();
		}

		/*
		 * 設(shè)置音量
		 */

		playback->SetVolume(skin->GetVolume());
		
		/*
		 * 保存/設(shè)置后處理
		 */

		options.postprocessing = playback->videoDecoder->GetQuality();
		playback->videoDecoder->SetQuality(options.postprocessing);

		/*
	 	 * 播放
		 */

		playback->Play();

		/*
		 * 更新窗口
		 */

		UpdateMainWindow();
	}
	else {

		/*
		 * 文件打開失敗
		 */

		MP_ERROR("The location you selected could not be opened");
	}
  }
}

/**************************************************************************************
 *                                                                                    *
 * - AddFilesToPlaylist():                                                            *
 *                                                                                    *
 *   ———增加文件到文件鏈表                                                         *
 *                                                                                    *
 **************************************************************************************/

void AddFilesToPlaylist(HWND hwnd)
{
	OPENFILENAME ofn;
	char szFile[260];
				
	/*
	 * 顯示一個文件選擇器
	 */

	ZeroMemory(&ofn, sizeof(OPENFILENAME));
    ZeroMemory(szFile, 260);

	ofn.lStructSize = sizeof(OPENFILENAME);
	ofn.hwndOwner = hwnd;
	ofn.lpstrFile = szFile;
	ofn.nMaxFile = sizeof(szFile);

	ofn.lpstrFilter = "All\0*.*\0AVI Files\0*.AVI\0\0";
	ofn.nFilterIndex = 2;
	ofn.lpstrFileTitle = "";
	ofn.nMaxFileTitle = 0;
	ofn.lpstrInitialDir = NULL;
	ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT | OFN_EXPLORER;
				
	if (GetOpenFileName(&ofn) == TRUE) {
		
		if(ofn.lpstrFile[strlen(ofn.lpstrFile) + 1] == NULL) {

			/*
			 * 只有一個文件被選擇
			 *
			 */

			playlist->AddItem(ofn.lpstrFile);
		}
		else {

			/*
			 * 多個文件被選擇
			 *
			 */

			DWORD index, i = 0;
			char  dir[1024];

			index = strlen(ofn.lpstrFile) + 1;

			do {
						
				strcpy(dir, ofn.lpstrFile);

				playlist->AddItem((LPSTR)st

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久aaaa| 欧美色精品天天在线观看视频| 欧美一二三在线| 五月婷婷综合网| 欧美一级国产精品| 久热成人在线视频| 国产视频视频一区| 91在线你懂得| 午夜久久福利影院| 日韩欧美区一区二| 国产成人精品亚洲午夜麻豆| 国产精品久久久久婷婷二区次| 色综合天天综合网天天狠天天 | 国产91精品一区二区麻豆亚洲| 国产色婷婷亚洲99精品小说| youjizz国产精品| 亚洲国产日产av| 亚洲精品在线电影| 成人国产免费视频| 亚洲亚洲人成综合网络| 欧美精品一区二区三区视频| 成熟亚洲日本毛茸茸凸凹| 亚洲欧美国产77777| 国产亚洲美州欧州综合国| 91蜜桃视频在线| 日本系列欧美系列| 国产精品私人影院| 欧美日韩精品三区| 大美女一区二区三区| 亚洲精品成人在线| 久久综合久久综合久久| 色哟哟日韩精品| 蜜臀av一区二区三区| 国产精品国产三级国产三级人妇| 欧美唯美清纯偷拍| 成人晚上爱看视频| 丝袜美腿亚洲综合| 亚洲国产精品t66y| 欧美人伦禁忌dvd放荡欲情| 国产成人精品一区二区三区四区| 亚洲成人自拍一区| 久久久蜜桃精品| 欧美丰满嫩嫩电影| 色8久久人人97超碰香蕉987| 国产成人在线免费| 蜜桃视频免费观看一区| 亚洲精品视频观看| 国产日韩欧美制服另类| 日韩三级在线观看| 欧美精品在线观看一区二区| 99久久国产综合精品女不卡| 国产在线视频不卡二| 日韩国产欧美三级| 亚洲午夜av在线| 亚洲美女偷拍久久| 自拍偷自拍亚洲精品播放| 久久精品视频网| 久久一区二区三区国产精品| 日韩一二三区不卡| 欧美一区二区在线不卡| 色婷婷综合久久久久中文 | 99久久夜色精品国产网站| 天堂午夜影视日韩欧美一区二区| 欧美videossexotv100| 91免费版pro下载短视频| 久久av中文字幕片| 亚洲成人高清在线| 国产精品乱人伦| 精品欧美乱码久久久久久1区2区| 在线观看日韩精品| 福利91精品一区二区三区| 青娱乐精品视频在线| 亚洲一区在线观看视频| 国产精品进线69影院| 久久久一区二区三区| 欧美三级一区二区| 欧美日韩一级片网站| 91婷婷韩国欧美一区二区| 国产69精品久久久久毛片| 黄色资源网久久资源365| 视频一区国产视频| 亚洲小少妇裸体bbw| 亚洲男女毛片无遮挡| 亚洲欧洲另类国产综合| 91精品免费观看| 欧美精品一区二| 日韩女优av电影| 日韩一区二区中文字幕| 欧美日韩一区二区三区免费看| 色婷婷狠狠综合| 91小视频在线| 91玉足脚交白嫩脚丫在线播放| 丁香婷婷综合激情五月色| 日韩av午夜在线观看| 蜜桃av噜噜一区| 九色综合狠狠综合久久| 精品亚洲国内自在自线福利| 免费成人在线播放| 精品在线亚洲视频| 久久av资源网| 国产成人免费视| www.亚洲国产| 欧美三级日韩在线| 欧美精品99久久久**| 欧美日韩中文另类| 7777女厕盗摄久久久| 91精品国产欧美日韩| 精品久久人人做人人爱| 26uuu亚洲综合色欧美 | 成人国产精品免费网站| 99久精品国产| 色婷婷综合激情| 欧美日韩国产欧美日美国产精品| 欧美亚洲综合色| 日韩一区二区三区电影| 精品伦理精品一区| 欧美激情一区二区| 亚洲九九爱视频| 亚洲夂夂婷婷色拍ww47| 免费在线观看精品| 国产伦理精品不卡| 93久久精品日日躁夜夜躁欧美| 99国产精品99久久久久久| 在线免费观看不卡av| 日韩欧美一级片| 中文字幕一区二区三中文字幕| 亚洲综合激情网| 九一九一国产精品| 91视视频在线直接观看在线看网页在线看| 在线观看免费成人| 欧美激情综合在线| 亚洲香肠在线观看| 国产一区二区美女| 色婷婷av一区二区三区之一色屋| 欧美日韩激情一区二区三区| 精品国产一区二区三区四区四 | 91精品国产综合久久久久| www国产成人| 一区二区高清在线| 国产美女一区二区| 欧美午夜理伦三级在线观看| 久久久亚洲国产美女国产盗摄 | 精品久久五月天| 一区二区三区四区激情| 国产资源精品在线观看| 91在线播放网址| 精品国产乱码久久久久久图片| 亚洲欧美日韩国产手机在线 | 欧美96一区二区免费视频| 成人av免费在线| 欧美一区二区三区视频在线| 亚洲女爱视频在线| 99久久99久久综合| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲激情图片qvod| 国产jizzjizz一区二区| 欧美一级欧美三级在线观看| 一区二区三区自拍| 国产成人自拍在线| 91麻豆swag| 亚洲日本在线天堂| 成人精品国产福利| 亚洲精品一区二区三区影院| 天堂影院一区二区| 日本韩国精品在线| 国产亚洲婷婷免费| 六月婷婷色综合| 精品国产一区二区三区久久久蜜月| 亚洲激情自拍视频| av不卡免费在线观看| 久久久久久久久伊人| 久草热8精品视频在线观看| 91精品欧美福利在线观看| 国产亚洲欧美日韩在线一区| 国产精品一区二区黑丝| 精品国产自在久精品国产| 天天av天天翘天天综合网| 欧美在线综合视频| 一区二区三区四区高清精品免费观看 | 51精品久久久久久久蜜臀| 国产精品国产三级国产专播品爱网| 久久av资源网| 欧美成人高清电影在线| 美女免费视频一区二区| 日韩视频在线你懂得| 日产欧产美韩系列久久99| 欧美一区午夜精品| 亚洲成人精品影院| 日韩一级成人av| 九九精品视频在线看| 久久久亚洲国产美女国产盗摄 | 国产在线观看免费一区| 久久免费视频色| 粉嫩绯色av一区二区在线观看| 欧美国产成人精品| 99综合影院在线| 亚洲乱码国产乱码精品精可以看| 色妹子一区二区| 亚洲午夜电影在线| 日韩欧美激情一区|