首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

c语言做的播放器源码.zip

后端 304.48KB 31 需要积分: 1
立即下载

资源介绍:

c语言做的播放器源码.zip
#include "stdafx.h" #include #include #include #include //用到了time函数,所以要有这个头文件 #include #include // mciSengString函数调用需要先调用#include #include // TBM_SETPOS头文件 #include "resource.h" #include "MainDlg.h" #include //有关系统托盘的头文件 #define WM_HIDE WM_USER+100 //定制自己的消息ID。 //为了防止用户定义的消息ID与系统的消息ID冲突 //MS(Microsoft)定义了一个宏WM_USER,小于WM_USER的ID被系统使用,大于WM_USER的ID被用户使用。 /* 【自学去】网站收集 http://www.zixue7.com */ #define ORDER 0 //顺序播放 #define SINGLELOOP 1 //单曲循环 #define LISTLOOP 2 //列表循环 #define RANDOM 3 //随机播放 void Main_OnHScroll(HWND hwnd, HWND hwndCtl, UINT code, int pos); //声明滑块函数 // 全局变量定义 TCHAR szFileNamePath[256][MAX_PATH]; //歌曲的完全路径,二维数组 Path(路径) TCHAR szFileName[256][MAX_PATH]; // 歌曲名 TCHAR shortName[256]; //歌曲的短路径名 int num; //正在播放歌曲的序号 int offset = 0; //打开歌曲时记录歌曲的编号,为了多次打开时编号能连续,所以设为全局变量 int count = 0; //为列表中的歌曲添加序号 int playStatus = 1; // 当前歌曲播放状态,1 表示正在播放状态,0 表示暂停状态 int minite; // 曲目播放时间,分 int second; // 曲目播放时间,秒 long allLength; //这是什么? long curLength; // curLength = atoi(curTime); //这是但前时间的字符串转化为INT型 TCHAR strTime[256] = ""; // 曲目播放当前时间 TCHAR strTimeAll[256] = ""; // 曲目总时间 TCHAR curTime[256] = ""; // 这是什么? int mode = ORDER; // 这是什么? int n; // 这是什么? // 函数原型 void addFiles(HWND hwnd); // 添加歌曲 void playMusic(HWND hwnd); // 播放歌曲 void pauseMusic(HWND hwnd); // 暂停播放 void stopPlay(HWND hwnd); // 停止播放当前正在播放的歌曲 void playLast(HWND hwnd); // 播放上一曲 void playNext(HWND hwnd); // 播放下一曲 void autoNext(HWND hwnd); //自动播放下一曲 void silence(HWND hwnd); // 静音 void getAllTime(HWND hwnd); // 得到歌曲总时间 void deleteAll(HWND hwnd); // 移除所有曲目 void deleteSel(HWND hwnd); // 移除选中曲目 void getSongMessage(HWND hwnd); // 获取曲目详细信息?? //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////******* 此函数需要现在初始化对话框中定义TimerProc!!!如:SetTimer(hwnd,1,1000,TimerProc); *************////// VOID CALLBACK TimerProc (HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime) //IDC_EDITSYST编辑框中在显示系统时间 { SYSTEMTIME stLocal; //系统当前时间 TCHAR time[256]; //定义time数组来保存需要在IDC_EDITSYST编辑框中显示的内容 GetLocalTime(&stLocal);//得到系统当前时间的指针 wsprintf(time,"%d年%d月%d日 %d:%d:%d",stLocal.wYear,stLocal.wMonth,stLocal.wDay ,stLocal.wHour,stLocal.wMinute,stLocal.wSecond);//将“”中内容拷贝到time数组中 SetDlgItemText(hwnd,IDC_EDITSYST,time);//将time数组内容打印到IDC_EDITSYST编辑框中 } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///// 此函数需要现在初始化对话框中定义curTimePro!!!如:SetTimer(hwnd, 0, 1000, curTimePro); /////// void CALLBACK curTimePro(HWND hwnd, UINT message, UINT iTemerID, DWORD dwTime)// 回调函数,读取当前播放时间,设置滑动条的当前值 { TCHAR str[256]; wsprintf(str, "status %s position", shortName); //int wsprintf(   LPTSTR lpOut, 输出缓冲区,最大为1024字节   LPCTSTR lpFmt, 格式字符串   ... 需输出的参数;) mciSendString(str, curTime, sizeof(curTime)/sizeof(TCHAR), NULL);//mciSendString(“play ***”,"",0,NULL); curLength = atoi(curTime); minite = curLength / 60000;//定义时间中 “分”的由来 second = (curLength / 1000) % 60;//定义时间中 “秒”的由来 wsprintf(strTime, "%.2d:%.2d", minite, second);// 曲目播放当前时间 的确定 SetDlgItemText(hwnd, IDC_EDITTIME, strTime);//将当前播放时间打印到IDC_EDITTIME中 // 设置滑块的最大值,最小值以及当时位置 HWND hwSlider = GetDlgItem(hwnd, IDC_SLIDER);//IDC_SLIDER的句柄定义为hwSlider SendMessage(hwSlider, TBM_SETRANGEMAX, (WPARAM)TRUE, allLength);//TBM_SETRANGEMAX:设置滑块逻辑位置的最大值,及是否重画 SendMessage(hwSlider, TBM_SETRANGEMIN, (WPARAM)TRUE, 0);//TBM_SETRANGEMIN:设置滑块逻辑位置的最小值,及是否重画 SendMessage(hwSlider, TBM_SETPOS, (WPARAM)TRUE, curLength);//TBM_SETPOS:设置滑块的逻辑位置,及是否重画 TCHAR szCommand[MAX_PATH+10]; TCHAR szReturn[MAX_PATH]; ZeroMemory(szCommand, sizeof(szCommand)/sizeof(TCHAR)); //C语言中声明一个结构体变量之后,在使用这个变量之前要首先用memset来把各个位清零。使用C语言内置的函数memset来完成: //memset(&s1,sizeof(s1),0); //在这里我们使用ZeroMemory“函数”,ZeroMemory其实并不是函数,其实是memset的宏定义 //ZeroMemory其实就是memset,纸老虎而已,不是一个全新的函数。 wsprintf(szCommand, TEXT("status %s mode"), shortName); mciSendString(szCommand, szReturn, sizeof(szReturn)/sizeof(TCHAR), NULL); //***********************************下面的函数功能会和IDC_STOP点击函数冲突!!!***************************************// //strcmp速度快但是代码多;lstrcmp速度慢但精简,其实也就慢那么一丁丁丁丁点啦 推荐使用lstrcmp //lstrcmp字符串对比,本语句含义是:当szReturn==stopped时自动播放下一曲 if (0 == lstrcmp(szReturn, TEXT("stopped"))) { autoNext(hwnd); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///// 此函数需要现在初始化对话框中定义TimerProc1!!!如:SetTimer(hwnd,2,1000,TimerProc1); /////// VOID CALLBACK TimerProc1(HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime) //IDC_EDITSYST编辑框中在显示系统时间 { SYSTEMTIME stLocal; //系统当前时间 GetLocalTime(&stLocal);//得到系统当前时间的指针 TCHAR STR1[256],STR2[256]; int hour,minute; GetDlgItemText(hwnd,IDC_EDIT1,STR1,sizeof(STR1)); GetDlgItemText(hwnd,IDC_EDIT2,STR2,sizeof(STR2)); hour = atoi(STR1); minute = atoi(STR2); if(hour == stLocal.wHour&&minute == stLocal.wMinute) { HWND hwList = GetDlgItem(hwnd,IDC_LIST1); TCHAR str1[256],str2[256]; ListBox_GetText(hwList,0,str1); wsprintf(str2,"play %s",str1); mciSendString(str2,"",0,NULL); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////*****************************************最下化到系统托盘问题*************************************************//// /* ypedef struct _NOTIFYICONDATAA { DWORD cbSize; //结构体的大小,以字节为单位。 HWND hWnd; //窗口的句柄。标示的窗口用来接收与托盘图标相关的消息。 UINT uID; //应用程序定义的任务栏图标的标识符。 UINT uFlags; //此成员表明具体哪些其他成员为合法数据(即哪些成员起作用)。 //此成员可以为以下值的组合: // NIF_ICON   hIcon成员起作用。   // NIF_MESSAGE  uCallbackMessage成员起作用。   // NIF_TIP    szTip成员起作用。   // NIF_STATE   dwState和dwStateMask成员起作用。 // NIF_INFO    使用气球提示代替普通的工具提示框。szInfo, uTimeout, szInfoTitle和dwInfoFlags成员起作用。   // NIF_GUID    保留。 UINT uCallbackMessage; //应用程序定义的消息标示。当托盘图标区域发生鼠标事件或者使用键盘选择或激活图标时, //系统将使用此标示向由hWnd成员标示的窗口发送消息。 //消息响应函数的wParam参数标示了消息事件发生的任务栏图标,lParam参数根据事件的不同, //包含了鼠标或键盘的具体消息,例如当鼠标指针移过托盘图标时,lParam将为WM_MOUSEMOVE。 HICON hIcon; //增加、修改或删除的图标的句柄。 CHAR szTip[64]; //指向一个以\0结束的字符串的指针。字符串的内容为标准工具提示的信息。 //包含最后的\0字符,szTip最多含有64个字符。 } NOTIFYICONDATAA */ //************

资源文件列表:

c语言做的播放器源码.zip 大约有6个文件
  1. c语言做的播放器源码/
  2. c语言做的播放器源码/c语言做的播放器源码/
  3. c语言做的播放器源码/c语言做的播放器源码/c语言做的播放器源码/
  4. c语言做的播放器源码/c语言做的播放器源码/c语言做的播放器源码/MainDlg.cpp 32.17KB
  5. c语言做的播放器源码/c语言做的播放器源码/c语言做的播放器源码/流の云播放器.exe 440KB
  6. c语言做的播放器源码/新建文件夹/
0评论
提交 加载更多评论
其他资源 子浩音频音效助手18.0
子浩音效助手.是一款免费简洁直播助手软件.该软件拥有150种音效.一键设置快捷键.如有不法分子利用谋利我司必究.
KX3552驱动一键定制版
KX3552驱动一键版,支持创新内置声卡,支持Win7 Win8 Win10 系统,一键安装使用给新手提供了一个方便快捷的使用安装。
全新小西瓜API管理系统
2023全新小西瓜API系统网站源码是一款基于PHP+MYSQL开发制作的api管理系统源码,界面清新大气,功能完善稳定。有需要的朋友可以下载试试。 安装方法: 1、上传网站源码到ftp根目录。 2、访问http://你的域名/install 进行安装
英语词根词缀记忆大全PDF
英语词根词缀记忆大全https://gitee.com/houxiansheng/English_Prefix_Root_Suffix/blob/master/%E8%8B%B1%E8%AF%AD%E8%AF%8D%E6%A0%B9%E8%AF%8D%E7%BC%80%E8%AE%B0%E5%BF%86%E5%A4%A7%E5%85%A8%EF%BC%88%E6%95%B4%E7%90%86%E6%89%93%E5%8D%B0%E7%89%88%EF%BC%89.pdf
zhuabiadcdsc
zhuabiadcdsc
坦克大战网络对战版(计算机体系结构课内作业)
java语言编写,是坦克大战单机版的拓展 坦克大战网络对战版: 1. 使用C2风格中的消息中间件MQ,完成作业1数据模型层的同步; 2. 考虑如下问题 (1)设置主从机模式;传数据可使用存档的json格式 (2)从机给主机传什么数据? 主机给从机传什么数据? (3)坦克、子弹的移动应该放到那个组件计算?碰撞检测放到那个/那些组件计算? (4)如何控制数据的同步,即两个界面应显示相同的数据元素? (5)在做好如上问题的基础上,尽可能考虑高性能。
无畏契约爆头线可自行设置
还在为瞄准烦恼吗 现在不用了 直接下在解决你的问题
本文利用子对话框编辑框来修改主对话框编辑框内容
本文利用子对话框编辑框来修改主对话框编辑框内容