亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aphearsaycommand.c

?? 這個是好記星608的AP源代碼,他的主要是是GUI,還有對字典的操作
?? C
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************/
/*                                                                          */
/*              Copyright (C) 2005 SHENZHEN MEIJIN CO.LTD                   */
/*                                                                          */
/* FILE NAME:   ApHearSayCommand.c                                          */
/* MODULE NAME: AP應用程序                                                  */
/* DESCRIPTION: Hearsya command                                             */
/*                                                                          */
/* FUNCTIONS:                                                               */
/*                                                                          */
/****************************************************************************/
/*    NAME         DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*   DennyHan    2006-03-11         V1.00B                                  */
/****************************************************************************/

// 包含必要的頭文件
#include	"Ap.h"
#include	"ApHearSay.h"
#include	"ApHearSaySet.h"

extern RrParam		g_RrParam;
extern MVoicePlayParam g_VoicePlayParam;
//============================================================================
INT  HearSayEvent_CPlay ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam )
{
   // DrawCurrentAp();
	if  (g_RrParam.wSndMode &APHS_REPEAT)
    {   // if repeat mode
        // Stop
        HearSayEvent_C2 (pGui, EVENT_COMMAND,CMD_HS_RPT_END);
    }

    if (!ApHsSndIsBusy())
    {
        ApHsClearRptMode();

		if ( g_RrParam.wRptMode & RR_MODE_MANUAL)
        { // if A-B Mode
            ApHsGetPlayTm(0);
    		if (g_RrParam.aPlay[0].dwPlayTm >= g_RrParam.aPlay[0].dwTotalTm)
            {
       	    	g_RrParam.aPlay[0].dwPlayTm = 0;
	    		ApHsSetPlayTm(0);
            }
    	}

        // Set Current Point to A
        //HearSayEvent_KeyAB( pGui,EVENT_KEY,APHS_KEY_A_EXP);
		HearSayEvent_KeyAB( pGui,EVENT_KEY,APHS_KEY_A);

        return HearSayEvent_C1 (pGui, uEvent, uParam );
    }

    return 1;
}

INT  HearSayEvent_CStop ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam )
{
    /*--------------------------------------------------------*/
	 //g_VoicePlayParam.dwPlayOffset-=500;
    /*---------------------------------------------------------*/
	if (ApHsSndIsBusy())
    {
        ApHsClearRptMode();
		
        return HearSayEvent_C1 (pGui, uEvent, uParam );
    }
    else
    {   
        ApHsHint((const char *)APHS_CUROP_FAIL);
    }
    return 1;
}

/****************************************************************************/
/* FUNCTION:   INT  HearSayEvent_C1( APGUI_STRUCT *pGui,                   */
/*                                            UINT uEvent, UINT uParam )    */
/* INPUTS:     NONE                                                        */
/* OUTPUTS:    NONE                                                        */
/****************************************************************************/
/*    NAME         DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*   DennyHan    2006-03-15          First Issue                            */
/****************************************************************************/
// Command for Play or Stop
INT  HearSayEvent_C1 ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam )
{
UINT uParam2;
    APHsStopMark();

//    g_RrParam.wTmABSetFlag &=(~APHS_TMA_KEY_SET);

    // if follow mode
    if (g_RrParam.wSndMode&APHS_FOLLOW)
    {
        if ((g_RrParam.wSndMode & APHS_SOUND_REC) )
        {   // if record sound
            uParam2 = CMD_HS_FOLLOW_RECEND; //CMD_HS_FOLLOW_RECEND
        }
        else
        {   // if record sound, record end to play Sound
            uParam2=CMD_HS_FOLLOW_END;
            if (  (uParam==CMD_HS_STOP) )
            {
                if ((g_RrParam.wSndMode & APHS_SOUND_PLAYREC) )
                {   // if Play REC
                    uParam2=CMD_HS_FOLLOW_PLAYSND;
                }
                else if ((g_RrParam.wSndMode & APHS_SOUND_PLAY) )
                {   //
                    uParam2=CMD_HS_FOLLOW_PLAYREC;
                }
            }
        }
        return HearSayEvent_C3(pGui, EVENT_COMMAND, uParam2);
    }

    // if repeat mode
    if (g_RrParam.wSndMode&APHS_REPEAT)
    {
        return HearSayEvent_C2(pGui, EVENT_COMMAND, CMD_HS_RPT_END);
    }

    if (!APHsStopCurrentSound())
    {// if No sund is playing

		// check it is ending or not
		// if it is to the ending tail, reset to the head
		if ( APHsChkPlayM0Ending() )
		{// Ending of playing, reset the play to the head
	    	g_RrParam.aPlay[0].dwPlayTm = 0;
			ApHsSetPlayTm(0);
			// Reset the text to the head ??????
		}

        ApHsStartPlay(0);
//		NU_Sleep(20*10);
        g_RrParam.wSndMode |= (APHS_SOUND_PLAY);
    }

    DrawCurrentAp();

    return 1;
}

/****************************************************************************/
/* FUNCTION:   INT  HearSayEvent_C2( APGUI_STRUCT *pGui,                   */
/*                                            UINT uEvent, UINT uParam )    */
/* INPUTS:     NONE                                                        */
/* OUTPUTS:    NONE                                                        */
/****************************************************************************/
/*    NAME         DATE               REMARKS                               */
/* ==========  ============   ==============================================*/
/*   DennyHan    2006-03-15          First Issue                            */
/****************************************************************************/
// Repeat Command
static  BOOL HearSayEvent_SetRptTime(VOID)
{
UINT16  wNode;
    if (g_RrParam.wRptMode& RR_MODE_MANUAL)
	{   // Manual
        if (  (g_RrParam.wTmABSetFlag&APHS_TMA_SET)
           &&(g_RrParam.wTmABSetFlag&APHS_TMB_SET)  )
        {
    	    g_RrParam.dwRptTmA=g_RrParam.dwTmA;
	    	g_RrParam.dwRptTmB=g_RrParam.dwTmB;
        }
        else
        {	// if no set AB Time stamp point
            return FALSE;
        }
	}
	else
	{   // Auto
	    wNode=ApHsGetTextTimeNode();

		// Not this time is 0.1s
	    g_RrParam.dwRptTmA=ApHsGetTextNodeTime(wNode);
		//g_RrParam.dwRptTmB=ApHsGetTextNodeTime((UINT16)(wNode+1));
        g_RrParam.dwRptTmB=ApHsGetTextNodeTimeLength((UINT16)(wNode))
                            +g_RrParam.dwRptTmA;
        if (wNode)
        {
        UINT16 wPrevNode;
        UINT32  dwPreTim;

            wPrevNode = wNode -1;
            dwPreTim = ApHsGetTextNodeTime(wPrevNode);
            dwPreTim += ApHsGetTextNodeTimeLength(wPrevNode);
            dwPreTim = (g_RrParam.dwRptTmA-dwPreTim);
#if 1
            if (dwPreTim<=100)
            {
//                if ( dwPreTim > 10 )
//                {
                    g_RrParam.dwRptTmA -= (dwPreTim-10);
//                }
            }
#endif
//            else if (dwPreTim<500)
//            {
//                g_RrParam.dwRptTmA -= dwPreTim/2;
//            }
        }
	}
    return TRUE;
}

//---------------------------------
// Repeat
INT  HearSayEvent_C2 ( APGUI_STRUCT *pGui, UINT uEvent, UINT uParam )
{
INT		nRet;
    nRet=1;

    if (g_RrParam.wSndMode&APHS_SOUND_REC)
    {   // error for record, if record sound, do not
        ApHsHint( (const char *)APHS_CUROP_INVALID);
    }
    else
    {   // if Not in record mode

		if (   (g_RrParam.wTmABSetFlag&APHS_TMA_SET)
			&& (g_RrParam.wTmABSetFlag&APHS_TMB_SET) )
		{
			if (g_RrParam.dwTmB <= g_RrParam.dwTmA)
			{	//  B <=A
				if ( g_RrParam.wSndMode &APHS_REPEAT )
				{
					ApHsGetPlayTm(0);
					g_RrParam.aPlay[0].dwPrevTm = g_RrParam.aPlay[0].dwPlayTm;
					uEvent = EVENT_COMMAND;
					uParam = CMD_HS_RPT_END;
					ApHsHint((const char *)APHS_RPT_AB_SHORTFAIL);
				}
				else
				{
					ApHsHint((const char *)APHS_RPT_FAIL);
					return 1;
				}
			}
		}

        if (uParam==HEARSAY_BTN2_CMD)
		{
			if (g_RrParam.wRptMode& RR_MODE_MANUAL)
            {
			    if (    !(g_RrParam.wTmABSetFlag&APHS_TMA_SET)
					||  !(g_RrParam.wTmABSetFlag&APHS_TMB_SET) )
			    {
					// if sound is stop status
                    if (!ApHsRestoreBakABPlay())
					{   // if No AB Backup
               			ApHsHint((const char *)APHS_AB_REQUIRED);
						return 1;
                    }
                }
			}
		}

        // Stop sound first first
        APHsStopCurrentSound();
        APHsStopMark();

        switch(uParam)
        {
        case CMD_HS_RPT_END:
            // if repeat ending
            g_RrParam.wSndMode &= (~APHS_REPEAT);

            ApHsGetPlayTm(0);
			if (! (g_RrParam.wRptMode& RR_MODE_MANUAL))
            { // if MST auto Mode
				if (g_RrParam.aPlay[0].dwPlayTm >= g_RrParam.aPlay[0].dwTotalTm)
                {
                    break;
                }
			}
  		    g_RrParam.aPlay[0].dwPlayTm=g_RrParam.aPlay[0].dwPrevTm;
	    	ApHsSetPlayTm(0);
            break;
        default:
        case HEARSAY_BTN2_CMD:
            // if start repeat
			ApHsSetBakABPlay();

	        g_RrParam.wRptCycles=g_RrParam.wRptTotalCycles;     //當前復讀環數

			ApHsGetPlayTm(0);

			if (! (g_RrParam.wRptMode& RR_MODE_MANUAL))
			{// if MST auto Mode
				g_RrParam.aPlay[0].dwPrevTm = g_RrParam.aPlay[0].dwPlayTm;
			}
			else
			{
	            g_RrParam.aPlay[0].dwPrevTm = g_RrParam.dwTmB;
			}

            if (!HearSayEvent_SetRptTime())
            {
                HearSayEvent_C2( pGui,uEvent,CMD_HS_RPT_END);
                ApHsHint((const char *)APHS_AB_REQUIRED);
                break;
            }
            // Show One Repeat Mode
            g_RrParam.wSndMode |= APHS_REPEAT_OCCUR;
//            break;
        case CMD_HS_RPT_MORE:
            #ifdef APHS_IFINITE_CYCLE_SET
                if (g_RrParam.wRptTotalCycles == APHS_IFINITE_CYCLE)
                {
	                g_RrParam.wRptCycles = g_RrParam.wRptTotalCycles;     //當前復讀環數
                }
            #endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品每日更新| 午夜精品久久久久久久99樱桃| 在线这里只有精品| 国产一区二区三区观看| 亚洲一区视频在线| 国产人妖乱国产精品人妖| 欧美精品视频www在线观看| 成人黄色在线看| 国产在线一区观看| 日本vs亚洲vs韩国一区三区二区| 亚洲视频综合在线| 国产欧美视频一区二区三区| 日韩一区二区在线看片| 欧美美女一区二区三区| 欧洲精品在线观看| 91免费看片在线观看| 粉嫩在线一区二区三区视频| 韩国精品主播一区二区在线观看| 天堂一区二区在线免费观看| 一区二区视频在线| 最新中文字幕一区二区三区| 日本一区二区综合亚洲| 欧美tickling网站挠脚心| 91精品欧美一区二区三区综合在 | 久久久亚洲欧洲日产国码αv| 欧美片网站yy| 欧美日韩一区精品| 欧美日韩一二区| 欧美日韩一级二级三级| 欧美优质美女网站| 在线亚洲高清视频| 91精品91久久久中77777| 91玉足脚交白嫩脚丫在线播放| av在线这里只有精品| av在线一区二区三区| 99久久婷婷国产综合精品电影| 成人精品gif动图一区| 成人性生交大合| av电影在线观看完整版一区二区| 不卡视频一二三四| 一本一道久久a久久精品| 91丨九色丨黑人外教| 在线精品视频免费播放| 欧美视频一区二区三区在线观看 | 亚洲一区二区三区免费视频| 亚洲自拍偷拍麻豆| 日产欧产美韩系列久久99| 日韩精品一区第一页| 免费久久精品视频| 激情五月婷婷综合| 国产成人综合在线观看| 成人av影院在线| 欧美午夜不卡在线观看免费| 91精品国产色综合久久不卡蜜臀 | 7777精品伊人久久久大香线蕉完整版| 欧美美女直播网站| 精品少妇一区二区三区在线播放| 亚洲精品一区二区三区在线观看| 久久九九久久九九| 亚洲情趣在线观看| 亚洲综合色在线| 理论片日本一区| 丁香一区二区三区| 91国偷自产一区二区三区观看| 欧美精选一区二区| 久久美女艺术照精彩视频福利播放| 中文字幕av一区二区三区高 | 日本一不卡视频| 国产精品小仙女| 欧美在线free| 久久久久久97三级| 亚洲免费观看高清在线观看| 久久精品久久精品| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美日韩中字一区| 国产色产综合色产在线视频| 亚洲国产成人av| 高清成人在线观看| 欧美伦理影视网| 国产精品午夜免费| 日本中文字幕一区二区有限公司| 懂色av一区二区三区免费观看| 欧美日韩一卡二卡| 国产性色一区二区| 午夜久久福利影院| zzijzzij亚洲日本少妇熟睡| 欧美一二三区在线观看| 亚洲女与黑人做爰| 国产精品88888| 欧美日韩极品在线观看一区| 国产精品网站在线| 免费日韩伦理电影| 欧美自拍丝袜亚洲| 国产日韩成人精品| 日本特黄久久久高潮| 色综合久久99| 国产精品无遮挡| 精品夜夜嗨av一区二区三区| 欧美亚洲免费在线一区| 亚洲国产精品v| 免费观看日韩av| 在线看不卡av| 亚洲欧美日韩国产综合| 国产精品中文有码| 日韩情涩欧美日韩视频| 亚洲综合成人网| 成人av资源站| 久久久久久久久免费| 蜜桃av一区二区| 欧美日韩国产中文| 最新热久久免费视频| 国产99久久久久| 久久亚洲精品小早川怜子| 性做久久久久久免费观看欧美| 99久久精品99国产精品| 国产日韩精品一区| 国产一区二区三区四区在线观看| 777欧美精品| 日韩经典一区二区| 欧美日韩美少妇| 亚洲第一福利视频在线| 久久久久88色偷偷免费| 日本最新不卡在线| 91精品国产综合久久久蜜臀粉嫩 | 卡一卡二国产精品| 欧美一区二区精品在线| 日本人妖一区二区| 91精品一区二区三区久久久久久 | 精品国精品国产| 久久精品久久久精品美女| 日韩女优毛片在线| 麻豆专区一区二区三区四区五区| 91精品国产91热久久久做人人| 亚洲福利一区二区| 欧美体内she精高潮| 亚洲国产精品人人做人人爽| 欧美唯美清纯偷拍| 青青草原综合久久大伊人精品优势| 欧美精品一二三四| 麻豆精品精品国产自在97香蕉| 日韩精品专区在线影院重磅| 紧缚奴在线一区二区三区| 欧洲精品在线观看| 99久久久无码国产精品| 9人人澡人人爽人人精品| 一本一道综合狠狠老| 亚洲少妇中出一区| 欧美亚洲一区二区在线| 视频一区视频二区中文字幕| 日韩欧美激情在线| 国产剧情在线观看一区二区| 国产精品色一区二区三区| 99热精品一区二区| 亚洲电影在线免费观看| 日韩精品一区二区三区中文不卡| 国产精品资源在线看| 亚洲欧美日本韩国| 欧美日韩免费不卡视频一区二区三区| 免费日韩伦理电影| 日本一区二区三区久久久久久久久不 | 午夜一区二区三区在线观看| 日韩三级在线免费观看| 国产成人在线观看免费网站| 一区二区三区四区av| 欧美日本一区二区| 国产精品亚洲一区二区三区妖精| 日韩一区有码在线| 4438成人网| 成人免费观看视频| 丝袜亚洲另类欧美| 久久久精品中文字幕麻豆发布| 一本一道综合狠狠老| 久久疯狂做爰流白浆xx| 综合久久久久综合| 欧美一级黄色大片| 白白色 亚洲乱淫| 日本欧美一区二区| 中文字幕一区二区三区不卡| 91精品国产综合久久精品图片| 国产成人一级电影| 首页亚洲欧美制服丝腿| 国产精品国产三级国产aⅴ入口| 欧美日韩一区高清| 成人精品在线视频观看| 日本va欧美va精品发布| 亚洲丝袜制服诱惑| 日本伊人精品一区二区三区观看方式| 久久蜜桃av一区二区天堂| 欧美日韩国产影片| 成人av中文字幕| 精品综合免费视频观看| 亚洲自拍另类综合| 国产精品女主播在线观看| 日韩欧美精品在线| 欧美在线啊v一区| 成人高清免费在线播放| 六月丁香婷婷色狠狠久久| 亚洲午夜免费视频| 亚洲日本欧美天堂| 亚洲国产成人午夜在线一区|