资源简介
由win32 C语言编写的集音频、视频播放于一身的播放器
内含源代码、位图资源、可执行程序以及avi解码程序
主要用于我的博客资源下载,博文地址:
http://blog.csdn.net/crocodile__/article/details/10832337
代码片段和文件信息
//Player.c
#include“Window_Xp_style.h“
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM);
VOID openFile(HWND);
VOID openFileDialog(HWND);
int WINAPI WinMain(HINSTANCE hInstance
HINSTANCE hPrevInstance
PSTR szCmdLine
int iCmdShow)
{
static TCHAR szAppName[] = TEXT(“Player“);
HACCEL hAccel;
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
int cxScreen cyScreen;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(hInstance MAKEINTRESOURCE(IDI_APP));
wndclass.hCursor = LoadCursor(NULL IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)GetStockobject(WHITE_BRUSH);
wndclass.lpszMenuName = MAKEINTRESOURCE(IDR_MENU);//加载菜单
wndclass.lpszClassName = szAppName;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL TEXT(“This program requires Windows NT!“)
szAppName MB_IConerror);
return 0;
}
cxScreen = GetSystemMetrics(SM_CXSCREEN);
cyScreen = GetSystemMetrics(SM_CYSCREEN);
hwnd = CreateWindowA(szAppName
TEXT(“Player Demo“)
WS_OVERLAPPEDWINDOW
cxScreen * 7 / 20
cyScreen / 4
cxScreen * 3 / 10
cyScreen / 2
NULL
NULL
hInstance
NULL);
ShowWindow(hwnd iCmdShow);
UpdateWindow(hwnd);
hAccel = LoadAccelerators (hInstance MAKEINTRESOURCE(IDR_ACCELERATOR));
while(GetMessage(&msg NULL 0 0))
{
if (!TranslateAccelerator (hwnd hAccel &msg))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
}
return msg.wParam;
}
//打开音频或视频文件
VOID openFile(HWND hParent)
{
MCI_DGV_OPEN_PARMS mciOpen;//MCI打开参数结构体
MCI_DGV_STATUS_PARMS mciStatus;//MCI状态参数结构体
UINT uDeviceID;//设备ID
RECT rClient;//父窗口客户区大小
mciStatus.dwItem=MCI_DGV_STATUS_HWND;
//初始化mciOpen以及打开avi文件
ZeroMemory(&mciOpensizeof(mciOpen));
mciOpen.dwCallback =(DWORD)hParent;
mciOpen.lpstrAlias = TEXT(“movie“);//设备别名
mciOpen.lpstrElementName= szFileDir;//avi文件地址
mciOpen.hWndParent = hParent;//父窗口
mciOpen.dwstyle = WS_CHILD;//窗口风格
mciSendCommand(0 MCI_OPEN MCI_OPEN_ALIAS | MCI_OPEN_ELEMENT |
MCI_DGV_OPEN_PARENT | MCI_DGV_OPEN_WS (DWORD)&mciOpen);
//获取播放avi视频的子窗口hVideo
uDeviceID=mciOpen.wDeviceID;
mciSendCommand(uDeviceID MCI_STATUS MCI_STATUS_ITEM (DWORD)&mciStatus);
hVideo=(HWND)mciStatus.dwReturn;//获取播放视频的窗口句柄
//重绘主窗口
GetClientRect(hParent &rClient);
SendMessage(hParent WM_SIZE 0 MAKELONG(rClient.right - rClient.left rClient.bottom - rClient.top));
//判断当前打开的文件是否是音频文件
if(strstr(szFileDir TEXT(“mp3“)) || strstr(szFileDir TEXT(“mp2“)))
{
isMp = TRUE;
}
}
//打开文件浏览对话框
VOID openFileDialog(HWND hOwner)
{
static TCHAR szFilePath[MAX_PATH] sztitleName[MAX_PATH];
OPENFILENAME ofn;
TCHAR szFileFilter[] = TEXT(“Media Files(*.avi;*.mpg;*.m
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3888054 2013-09-01 15:50 bk.bmp
文件 16958 2013-09-01 16:27 icon.ico
文件 7515 2013-09-01 19:26 Pla
文件 3919360 2013-09-01 19:24 Pla
文件 663 2013-09-01 17:29 Window_Xp_st
文件 10773318 2013-08-31 10:36 XviD.rar
相关资源
- 基于MFC的OpenCV视频图像显示小工具
- VC面向对象与可视化程序设计清华黄维
- C++多路视频传输
- MFC实现rtsp视频流的播放
-
Qt使用QMediaPla
yer制作的视频播放器 - 《Visual C++2013从入门到精通视频教学版
- Visual C++视频技术方案宝典的光盘源代
- 车辆检测C++简易代码含测试视频
- 《Visual C++音视频编解码技术及实践》
- STM32驱动NRF24L01的视频传输
- linux系统C语言AVI格式音视频封装应用
- 基于opencv和MFC的多功能视频、图像处
- 基于MFC的图像融合程序
- MFC编程自己的简单记事本教学视频和
- Visual C++音频视频处理技术及工程实践
- 黑马最新c、c++全栈培训第24期高清无
- visual c++视频_音频开发实用工程案例精
- MFC-MCI简单音乐播放器源码
- mfc+opencv读取摄像头视频并实现抓图
- c++实现的简单音乐播放器
- VC++视频采集资料
- 多功能计算器Qt版本
- madplay播放器.rar
- 基于windows程序设计的视频播放器
- 视频捕获代码
- ffmpeg简易播放器-音视频同步
- 基于MFC的音乐播放器代码
- VisualC++音频视频处理技术及工程实践
- 基于win32的飞机大战游戏设计与实现
- 3D游戏场景漫游4.0版程序源码by浅墨
评论
共有 条评论