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

📄 voicein.h

📁 好记星的控件,包括button,list,对文件操作
💻 H
字号:
/****************************************************************************/
/*                                                                          */
/*              Copyright (C) 2002-2003 SHENZHEN MEIJIN CO.LTD              */
/*                                                                          */
/*  FILE NAME   : VoiceIn.H                                                 */
/*  MODULE NAME : Voice模块内部头文件		                                */
/*  DESCRIPTION : VoiceIn Head File                                         */
/*                                                                          */
/****************************************************************************/
/*  DATE        AUTHOR      VERSION     REMARKS                             */
/*  ==========  ========    =======     ==============================      */
/*  2004-04-26  黄小明       VER1.00     创建                               */
/****************************************************************************/

#ifndef __VOICE_IN_H__
#define __VOICE_IN_H__



/////////////////////////////////////////////////////////////////////////////////////
//临时使用定义的宏

/* 定义事件队列中每个消息的大小 */
#define EVENT_QUEUE_MSG_SIZE        5   /* 事件队列中消息的大小 */
                                        /* (sizeof(MEvent)+sizeof(UNSIGNED)-1)/sizeof(UNSIGNED) */
#define EVENT_QUEUE_MSG_BYTESIZE    20  /* 事件队列中消息的字节大小 */

#define EVENT_QUEUE_TIMEMSG_NUM         50  //用于控制队列中timer、光标、按键消息的最多个数,以免队列溢出

/* 任务优先级定义 */
#define TASK_PRIORITY_HIGHEST       1   // 最高优先级
#define TASK_PRIORITY_ABOVE_NORMAL  2   // 比正常优先级高一级
#define TASK_PRIORITY_NORMAL        3   // 正常优先级
#define TASK_PRIORITY_BELOW_NORMAL  4   // 比正常优先级低一级
#define TASK_PRIORITY_LOWEST        5   // 最低优先级
#define TASK_PRIORITY_IDLE          7   // 空闲优先级

/*
 * 消息结构定义
 */
typedef struct tagEvent {
    HGUI    hWnd;           // 窗口句柄
    UINT32  dwMsgType;      // 消息类型
    UINT32  xParam;         // 消息X参数
    UINT32  yParam;         // 消息Y参数
    VOID   *pvInfoPtr;      // 消息扩展指针参数
} MEvent;

#define  TimCreateTimer(hView, wID, dwInitTime, dwRschTime, pTimeFunc) ((HTIMER)1)
#define  TimStartTimer(hTimer) ;
#define  TimStopTimer(hTimer) ;
#define	 SysWatchClear() ;
#define	 MemAllocEx(a) MemAlloc(a)

//////////////////////////////////////////////////////////////////////////////////////

#define VOICE_STACK_SIZE  2000    //Voice任务占用的堆栈大小
#define VOICE_MAX_EVENT   20      //最多Voice消息个数

#define	VOICE_HANDLE_MAX	0x1000	//句柄最大值
#define	VOICE_HANDLE_MIN	0x1	    //句柄最大值
#define	VOICE_HANDLE_MASK	0x8000	    //句柄最大值

//通知停止类型
#define VOICE_NOTIFY_NONE			0	
#define VOICE_NOTIFY_STOP	        1	/* 自动停止 */
#define VOICE_NOTIFY_BREAK	        2	/* 被打断 */
#define VOICE_NOTIFY_FINISH	        3	/* 完成 */

//音效设置项
#define VOICE_SET_BASS          0X1
#define VOICE_SET_EQ            0X2
#define VOICE_SET_3D            0X4

//定义Voice播放队列消息类型
#define VOICE_COMMAND_UNKNOWN	0xFFFF   //需要输出数据

#define VOICE_COMMAND_OUTPUT	0x1   //需要输出数据
#define VOICE_COMMAND_INPUT     0X2   //需要输入数据

#define VOICE_COMMAND_PLAYEND	0x4
#define VOICE_COMMAND_PLAY	    0x5   //需要输出数据
#define VOICE_COMMAND_PAUSE		0x6   //需要输入数据
#define VOICE_COMMAND_RESUME	0x7   //需要输入数据
#define VOICE_COMMAND_CLOSE	    0x8   //需要输入数据
#define VOICE_COMMAND_STOP	    0x9   //需要输入数据


#define	WAVEHDR_IN_USE	1
#define	WAVEHDR_NOT_USE	0

typedef UINT32 (* VOICECALLBACKPROC)(UINT16 wParam, UINT32 dwParam);

#define VOICE_PLAY_FOREVER  0xFFFF

#define	VOICE_BUFFER_NUM		2


VOID __VoiceTaskProc(UNSIGNED argc, VOID *argv);
BOOL __VoiceTaskReset(VOID);
BOOL __VoiceSendCommand(VoiceHandle voiceHandle, UINT32 dwMsgType, UINT16 xParam, UINT16 yParam);
VOID __VoiceTimerCallBack(VOID);

BOOL __VoiceFileOpen(MVoicePlayParam* pVoicePlayParam);
BOOL __VoiceFileInfo(MVoicePlayParam *pVoicePlayParam);
BOOL __VoiceFileClose(MVoicePlayParam* pVoicePlayParam);
UINT32 __VoiceFileDataRead(UINT32 dwUser, UINT8* pBuf, UINT32 dwReadOffset, UINT32 dwReadLen);
BOOL __VoiceDataRead(WAVEHDR *pwh, UINT32 dwFlag);
VOID __VoicePlayOffsetAdjust(MVoicePlayParam *pVoicePlayParam);

VOID __AudioCallbackFunction(WAVEHDR *pwh, DWORD dwUser);
VOID __AcmCallbackFunction(WAVEHDR *pwh, DWORD dwUser);
NU_DRIVER* __VoiceFindAudioDrv(UINT32 dwUser, VOID *pCallBack, WAVEFORMATEX *pWfx);

BOOL __VoicePlayInit(MVoicePlayParam* pVoicePlayParam);
BOOL __VoicePlayExit(MVoicePlayParam* pVoicePlayParam);

VoiceHandle __VoiceOpen(MVoicePlayParam *pVoicePlayParam);
BOOL __VoicePlay(VoiceHandle voiceHandle);
BOOL __VoicePause(VoiceHandle voiceHandle);
BOOL __VoiceResume(VoiceHandle voiceHandle);
BOOL __VoicePlayStop(VoiceHandle voiceHandle);
BOOL __VoiceClose(VoiceHandle voiceHandle);

BOOL __VoiceStop(UINT8 bStopType);

BOOL __VoiceProtect(VOID);
BOOL __VoiceUnprotect(VOID);

BOOL	__VoiceDataWrite(VOID);

VOID *__VoiceMemAlloc(MVoicePlayParam* pVoicePlayParam, UINT32 dwSize);

BOOL WmaFileSetOffset(UINT32 dwOffset);
UINT32 WmaFileGetOffset(VOID);

#endif	//#define __VOICE_IN_H__

⌨️ 快捷键说明

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