资源简介

C语言写的音乐播放器,完整工程文件,有源码注释,带录音功能,在VC6,VC2010上测试可用!欢迎大家交流开发经验chj_macong@163.com

资源截图

代码片段和文件信息


#include “stdafx.h“
#include 
#include 
#include “resource.h“
#include “music.h“
//OPENFILENAME 声明
#include 
//滑块要加载的头文件 InitCommonControls
#include 

#include 

#define MAXFILELENGTH 4096
char * file =  “D:\\musicFile.dat“;
TCHAR repeatFile[512];
BOOL repeatFlag = FALSE;
int reCount = 0;

int mCount = 0;
typedef struct{
int num; //序号
TCHAR musicfullpath[256];//全路径
TCHAR musicname[256]; //文件名
int  musicsize; //文件大小
}musicFile;

int record_count = 0;

BOOL fileRead(musicFile *mfint i=0)
{
FILE *fp;
//char * file =  “D:\\musicFile.dat“;

if((fp=fopen(file“rb“))==NULL)
{
return FALSE;
}
//偏移起点:SEEK_SET-文件开始处;SEEK_CUR-当前位置;SEEK_END-文件结尾
fseek(fpi*sizeof(musicFile)SEEK_SET);//找到fp文件的指定处
//读取指定处的数据块
if(fread(mfsizeof(musicFile)1fp)!=1)
{
fclose(fp);
return FALSE;
}
else
{
fclose(fp);
return TRUE;
}
}

BOOL fileWrite(musicFile *mfTCHAR *str)
{
FILE *fp;
//打开 ab-向尾部追加;wb-先将文件长度截为0,再写入
if((fp=fopen(filestr))==NULL)
{
//如果以str打开失败,可能磁盘已满或其他原因,然后将文件长度截为0再写入,首次写入
if((fp=fopen(file“wb“))==NULL)
{
if(fwrite(mfsizeof(musicFile)1fp)!=1)
{
fclose(fp);
return FALSE;
}
else
{
fclose(fp);
return TRUE;
}

}
}
//首次打开成功,直接转入此处开始追加的写,返回写入的数据块数=1
if(fwrite(mfsizeof(musicFile)1fp)!=1)
{
fclose(fp);
return FALSE;
}
else
{
fclose(fp);
return TRUE;
}
}


//弹出对话框,选择打开的文件,路径和文件名存放在fullPathName和fileName中
BOOL OpenFile(HWND hwnd)
{
TCHAR *p; //file name
int nLen = 0;
TCHAR fullPathNames[MAXFILELENGTH];
TCHAR szPath[100];

ZeroMemory(repeatFilesizeof(repeatFile));
reCount = 0;

OPENFILENAME ofn;
ZeroMemory(&ofnsizeof(ofn));
ofn.lStructSize = sizeof(ofn);
//单文件时fullPathNames为全路径,多文件时为所选文件的目录,占ofn.nFileOffset这么长,剩下的均为所选文件的文件名,用“0“隔开
ofn.lpstrFile = fullPathNames;
ofn.lpstrFile[0] = TEXT(‘\0‘);
ofn.nMaxFile = sizeof(fullPathNames);
ofn.lpstrFilter = TEXT(“*.mp3\0*.mp3\0*.wav\0*.wav\0ALL\0*.*\0“);
ofn.nFilterIndex = 1;
ofn.lpstrFiletitle = NULL;
ofn.nMaxFiletitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.hwndOwner = hwnd;
ofn.Flags = OFN_EXPLORER |OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST |OFN_ALLOWMULTISELECT;

if (GetOpenFileName(&ofn))
{
//ofn.nFileOffset恒为所选文件目录的长度+1,无论单文件还是多文件这就统一了后续单(多)文件的处理方法
lstrcpyn(szPathfullPathNamesofn.nFileOffset); //目录,并多取了长度1
//ListBox_InsertString(GetDlgItem(hwndIDC_LISTBOX)-1fullPathNames);
szPath[ofn.nFileOffset] = ‘\0‘;
nLen = lstrlen(szPath);  //去掉多出的长度1后的字符串长度
if( szPath[nLen-1] != ‘\\‘ )   //如果选了多个文件则必须加上‘\\‘
 {
   lstrcat(szPath TEXT(“\\“)); 
 }
//把指针移到第一个文件
p =&fullPathNames[ofn.nFileOffset];// fullPathNames + ofn.nFileOffset;
TCHAR szFileNameTEMP[100]; //仅为一个完整歌曲目录

while(*p)
{
ZeroMemory(szFileNameTEMPsizeof(szFileNameTEMP));
lstrcat(szFileNameTEMPszPath); //+路径
lstrc

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2155520  2013-07-22 20:05  DJ Music\Debug\DJ Music.bsc

     文件     102470  2013-07-22 20:05  DJ Music\Debug\DJ Music.exe

     文件     112496  2013-07-22 20:05  DJ Music\Debug\DJ Music.ilk

     文件    2602264  2013-07-17 09:41  DJ Music\Debug\DJ Music.pch

     文件     197632  2013-07-22 20:05  DJ Music\Debug\DJ Music.pdb

     文件      22151  2013-07-22 20:05  DJ Music\Debug\music.obj

     文件          0  2013-07-22 20:05  DJ Music\Debug\music.sbr

     文件        868  2013-07-22 17:58  DJ Music\Debug\resource.res

     文件      60051  2013-07-17 09:41  DJ Music\Debug\StdAfx.obj

     文件     474493  2013-07-17 09:41  DJ Music\Debug\StdAfx.sbr

     文件     115712  2013-07-23 08:10  DJ Music\Debug\vc60.idb

     文件     217088  2013-07-22 20:05  DJ Music\Debug\vc60.pdb

     文件       4305  2013-07-17 09:41  DJ Music\DJ Music.dsp

     文件        541  2013-07-17 09:16  DJ Music\DJ Music.dsw

     文件      50176  2013-07-23 08:13  DJ Music\DJ Music.ncb

     文件     250880  2013-07-23 08:13  DJ Music\DJ Music.opt

     文件       2332  2013-07-23 08:11  DJ Music\DJ Music.plg

     文件        338  2013-08-09 17:39  DJ Music\DJ Music.sln

    ..A..H.      8192  2013-08-09 17:39  DJ Music\DJ Music.suo

     文件        766  2013-07-17 09:16  DJ Music\icon1.ico

     文件       6528  2013-07-22 20:05  DJ Music\music.cpp

     文件        304  2013-07-17 09:16  DJ Music\music.h

     文件       1685  2013-07-17 09:16  DJ Music\ReadMe.txt

     文件      20480  2013-07-23 08:11  DJ Music\Release\DJ Music.exe

     文件    1939708  2013-07-23 08:11  DJ Music\Release\DJ Music.pch

     文件       8225  2013-07-23 08:11  DJ Music\Release\music.obj

     文件        868  2013-07-23 08:11  DJ Music\Release\resource.res

     文件        230  2013-07-23 08:11  DJ Music\Release\StdAfx.obj

     文件      41984  2013-07-23 08:11  DJ Music\Release\vc60.idb

     文件      32632  2013-07-22 17:58  DJ Music\resource.aps

............此处省略10个文件信息

评论

共有 条评论