// Mp3Info.h: CMp3Info クラスのインターフェイス // ////////////////////////////////////////////////////////////////////// #ifndef _GLOBALCOMMAND_H #define _GLOBALCOMMAND_H #define sizeof_array(a) (sizeof(a)/sizeof(a[0])) void mbsncpy2(unsigned char *dst,unsigned char *src,int c); //DLLのバージョン情報を取得 BOOL GetDLLVersion(IN LPSTR szDLLFileName, IN DWORD *pdwMajor, IN DWORD *pdwMinor, IN DWORD *pdwBuildNumber1, IN DWORD *pdwBuildNumber2); //文末がYenのときTRUE BOOL IsTailYenSign(char *szStr); //文末に'\\'を追加(既に'\\'のときは何もしない) void AddTAilYenSigne(char *szStr); void AddTAilYenSigne(CString &Str); //LoadStringのバグ対策(MSKB Q140452) CString LoadResString(HINSTANCE hInstance,UINT uID); //--------------------------------------------------------------------- //★ビッグエンディアン->リトルエンディアンの変換 DWORD ExtractI4(unsigned char buf[4]); WORD ExtractI2(unsigned char buf[2]); CString getFileNameExtName(CString &path); CString getExtName(CString &path); CString getPathName(CString &path); CString getFileName(CString &path); ////////////////////////////////////////////////////////////////////////////// //getFileName //フルパス名からファイル名を取得する ////////////////////////////////////////////////////////////////////////////// /* 引数: char *szPath ファイル名を含むパス名へのポインタ 戻り値:char * ファイル名へのポインタ        ファイル名を含まないときは""へのポインタ [\],[/],[:]が見つからなかった場合、引数をファイル名とみなしてそのまま返す */ const char *getFileName(const char *szPath); ////////////////////////////////////////////////////////////////////////////// //getExtName //フルパス名から拡張子を取得する ////////////////////////////////////////////////////////////////////////////// /* 引数: char *szPath 拡張子を含むパス名へのポインタ 戻り値:char * 拡張子へのポインタ        拡張子を含まないときは""へのポインタ */ const char *getExtName(const char *szPath); //2バイト文字列の切りのいい文字数を取得 long check2ByteLength(const char *szTag,long lLimit); //システムエラーメッセージボックスを表示 void sysError(HWND hWnd,char *mes = "Error"); void errMessageBox(HWND hWnd,DWORD dwErrorCode,char *mes = "Error"); ////////////////////////////////////////////////////////////////////////////// //cutFileName //パス名からファイル名を取り除く ////////////////////////////////////////////////////////////////////////////// /* 引数: char *szPath ファイル名を含むパス名へのポインタ (実行後、パス名からファイル名が切り離される) 戻り値:なし */ void cutFileName(char *szPath); ////////////////////////////////////////////////////////////////////////////// //cutExtName //ファイル名から拡張子を取り除く ////////////////////////////////////////////////////////////////////////////// /* 引数: char *szFileName ファイル名へのポインタ (実行後、ファイル名から拡張子が切り離される) 戻り値:なし */ void cutExtName(char *szFileName); //文字列srcを指定文字cでn文字ごとに区切る CString divString(char *src,char c,int n); #endif //_GLOBALCOMMAND_H #if !defined(AFX_MP3INFO_H__0B43E243_8C43_45E9_A96A_F793478F30CC__INCLUDED_) #define AFX_MP3INFO_H__0B43E243_8C43_45E9_A96A_F793478F30CC__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #pragma warning(disable:4786) #include using namespace std; class CMp3Info { private: #pragma pack(1) typedef struct tFRAMEINFO { DWORD dwPtr; DWORD dwSize; }FRAMEINFO; typedef struct tMPEGINFO { int lsf; int mpeg25; int lay; int sampling_frequency; int error_protection; int bitrate_index; int padding; int extension; int mode; int mode_ext; int copyright; int original; int emphasis; int stereo; unsigned long bps; int framesize; unsigned long msec; unsigned long size; unsigned long flmnum; BOOL bVbr; }MPEGINFO; typedef struct _VBRI { char magic[4]; unsigned short version; unsigned short delay; unsigned short quality; unsigned long streamBytes; unsigned long streamFrames; unsigned short tableSize; unsigned short tableScale; unsigned short entryBytes; unsigned short entryFrames; }VBRI; #pragma pack() public: CMp3Info(); virtual ~CMp3Info(); BOOL Release(); BOOL Load(const TCHAR *szFileName,BOOL bVbrScan = FALSE); CString GetFormatString(){return m_strFormat;}; CString GetTimeString(){return m_strTime;}; const unsigned long GetMSec(); BYTE toc[100]; int filesize; //list m_listFrame; MPEGINFO m_mpegInfo; const BOOL IsVbr(); const CString GetMpeg(); const long GetLayers(); const long GetBps(); const long GetFreqs(); const CString GetModes(); const unsigned long GetFlmNum(); CString m_strFormat; CString m_strTime; }; #endif // !defined(AFX_MP3INFO_H__0B43E243_8C43_45E9_A96A_F793478F30CC__INCLUDED_)