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

📄 voice.c.bak

📁 好记星的控件,包括button,list,对文件操作
💻 BAK
字号:
/****************************************************************************/
/*                                                                          */
/*              Copyright (C) 2002-2003 SHENZHEN MEIJIN CO.LTD              */
/*                                                                          */
/*  FILE NAME   : Voice.C                                                   */
/*  MODULE NAME : Voice??秖oice.MOD)                                      */
/*  DESCRIPTION : Voice Manager                                             */
/*                                                                          */
/****************************************************************************/
/*  DATE        AUTHOR      VERSION     REMARKS                             */
/*  ==========  ========    =======     ==============================      */
/*  2004-04-07  ?ǐ??       VER1.00     ′′?¨                               */
/****************************************************************************/

#define __OS_SOURCE_FILE__

/* °?鍷τ??#include "kernel.h"
//#include "SysWatch.h"

#include "VoiceIn.h"


#define 		VOICE_BKFLAG_UNBACKUP	0	//δ±?·?
#define 		VOICE_BKFLAG_BK_PLAYLIST	1	//±?·?¥·?ο#define 		VOICE_BKFLAG_BK_PLAY		2	//±?·?¥·í
// ?¨??2????偿

    //Voice?????я?
NU_TASK         g_VoiceTask;
NU_QUEUE        g_VoiceQueue;
UINT32          g_VoiceQueueBuf[VOICE_MAX_EVENT * EVENT_QUEUE_MSG_SIZE];
VOID*			g_pVoiceStack;

    //Voice??2???
UINT8	g_VoiceStatus;					/*??*/	
MVoicePlayParam		g_VoicePlayParam;		/*2¥·???VoiceRecordParam	g_VoiceRecordParam;	/*??2??oiceHandle	g_VoiceHandle;					/*??*/
HTIMER      g_hVoiceTimer;

OPTION      g_VoicePreemptStatus;

WAVEHDR hdrWave1, hdrWave2, hdrWave3;
//
#ifdef				BACKVOICE_FUNC
INT 				g_nVoiceBkFlag;		//=0,δ±?·??=1£?±?·?¥·?б?=2£?±?·?¥·íVoiceListPlayParam	*g_pVoiceListPlayParamBk;
VoiceHandle			g_hVoiceHandleBk;
extern VoiceHandle       hVoiceListPlayHandle;
#endif
//
/****************************************************************************/
/* FUNCTION£o   VoiceModInitial                                             */
/* DESCRIPTION£oVoice??鴵??ˉ		                                        */
/* INPUTS£o     wInitMode -	3?ˉ??                                      */
/* OUTPUTS£o    NONE                                                        */
/* RETURN£o     ??3?|?·μ??RUE£?·??μ??ALSE                           */
/****************************************************************************/
/*  NAME           DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*  HuangXM     2003-06-19     ′′?¨                                         */
/****************************************************************************/
//BOOL VoiceModInitial(UINT wInitMode)
BOOL VoiceModInitial()
{
//    if( wInitMode == SYS_INIT_RESET )
    {
		g_VoiceHandle = (VOICE_HANDLE_MASK | VOICE_HANDLE_MIN);
		g_VoiceStatus = VOICE_STATUS_STOP;
		memset(&g_VoicePlayParam, 0, sizeof(MVoicePlayParam));
		memset(&g_VoiceRecordParam, 0, sizeof(MVoiceRecordParam));

        /* ′′?¨Voiceл???Π*/
        if( NU_Create_Queue(&g_VoiceQueue, "VoiceQueue", g_VoiceQueueBuf, VOICE_MAX_EVENT * EVENT_QUEUE_MSG_SIZE,
            NU_FIXED_SIZE, EVENT_QUEUE_MSG_SIZE, NU_FIFO) != NU_SUCCESS)
            return FALSE;

        /* ′′?¨Voice??*/
        if( (g_pVoiceStack = MemAlloc(VOICE_STACK_SIZE)) == NULL )
            return FALSE;

        if( NU_Create_Task(&g_VoiceTask, "VoiceTsk", __VoiceTaskProc, 0, NU_NULL, g_pVoiceStack,
            VOICE_STACK_SIZE, TASK_PRIORITY_HIGHEST,  0, NU_PREEMPT, NU_START) != NU_SUCCESS)
            return FALSE;

        g_hVoiceTimer = TimCreateTimer((VOID *)NULL, 100, 1000, 1000, (FPCALLBACK)__VoiceTimerCallBack);
        if(g_hVoiceTimer == NULL)
            return FALSE;
        
		//3?ˉy?τ??
		MediaFileInit();

		//3?ˉVoiceList
		__VoiceListInitial();

        //3?ˉ????狊        RecordInit();

    }
    return TRUE;
}

/****************************************************************************/
/* FUNCTION£o   VoiceModTerminate                                           */
/* DESCRIPTION£oVoice????		                                        */
/* INPUTS£o     NONE					                                    */
/* OUTPUTS£o    NONE                                                        */
/* RETURN£o     ??3?|?·μ??RUE£?·??μ??ALSE                           */
/****************************************************************************/
/*  NAME           DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*  HuangXM     2003-06-19     ′′?¨                                         */
/****************************************************************************/
BOOL VoiceModTerminate()
{
	NU_Terminate_Task(&g_VoiceTask);
    NU_Delete_Task(&g_VoiceTask);
    NU_Delete_Queue(&g_VoiceQueue);
	return TRUE;
}

/****************************************************************************/
/* FUNCTION£o   VoiceGetParam                                        */
/* DESCRIPTION£oμ???????                                       */
/* INPUTS£o     voiceHandle - Voice ??                                    */
/* OUTPUTS£o    NONE                                                        */
/* RETURN£o     VOICE_STATUS_?-?-					                        */
/****************************************************************************/
/*  NAME           DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*  HuangXM     2003-06-19     ′′?¨                                         */
/****************************************************************************/
BOOL VoiceGetParam(VoiceHandle voiceHandle, MVoicePlayParam* pVoicePlayParam)
{
	//2??

⌨️ 快捷键说明

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