⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cp_winampstructs.h

📁 《Visual C++视频/音频开发实用工程案例精选》一书的源代码
💻 H
字号:
#define IN_VER 0x100
#define OUT_VER 0x10
//
typedef struct _CP_PlugInModule
{
    char* m_pcModuleName;
    void* m_pNext;
} CP_PlugInModule;
//

typedef struct
{
    int version;				
    char *description;			
    int id;						

    HWND hMainWindow;		
    HINSTANCE hDllInstance;		

    void (*Config)(HWND hwndParent); 
    void (*About)(HWND hwndParent);  
    void (*Init)();				
    void (*Quit)();				

    int (*Open)(int samplerate, int numchannels, int bitspersamp, int bufferlenms, int prebufferms);
    

    void (*Close)();	

    int (*Write)(char *buf, int len);
   
    int (*CanWrite)();	

    int (*IsPlaying)(); 
    int (*Pause)(int pause); 

    void (*SetVolume)(int volume); 
    void (*SetPan)(int pan); 

    void (*Flush)(int t);	

    int (*GetOutputTime)(); 
    int (*GetWrittenTime)(); 
} Out_Module;
//

typedef struct
{
    int version;				
    char *description;			

    HWND hMainWindow;			
    HINSTANCE hDllInstance;		

    char *FileExtensions;		

    int is_seekable;			
    int UsesOutputPlug;			

    void (*Config)(HWND hwndParent); 
    void (*About)(HWND hwndParent);  

    void (*Init)();				
    void (*Quit)();				

    void (*GetFileInfo)(const char *file, char *title, int *length_in_ms); 
    int (*InfoBox)(const char *file, HWND hwndParent);

    int (*IsOurFile)(const char *fn);	
    int (*Play)(const char *fn);		
    void (*Pause)();			
    void (*UnPause)();		
    int (*IsPaused)();			
    void (*Stop)();				

    int (*GetLength)();			
    int (*GetOutputTime)();		
    void (*SetOutputTime)(int time_in_ms);	

    void (*SetVolume)(int volume);	
    void (*SetPan)(int pan);	

    void (*SAVSAInit)(int maxlatency_in_ms, int srate);	
    void (*SAVSADeInit)();	


    void (*SAAddPCMData)(void *PCMData, int nch, int bps, int timestamp);

    int (*SAGetMode)();		
    void (*SAAdd)(void *data, int timestamp, int csa); 


    
    void (*VSAAddPCMData)(void *PCMData, int nch, int bps, int timestamp); /

    int (*VSAGetMode)(int *specNch, int *waveNch); 
	void (*VSAAdd)(void *data, int timestamp); 

    void (*VSASetInfo)(int nch, int srate);


    
    int (*dsp_isactive)();

    
    int (*dsp_dosamples)(short int *samples, int numsamples, int bps, int nch, int srate);


    void (*EQSet)(int on, char data[10], int preamp); 
    void (*SetInfo)(int bitrate, int srate, int stereo, int synched); 

    Out_Module *outMod; 
} In_Module;
//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -