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

📄 mic_rec.c

📁 MTK 1389E SOURCE CODE
💻 C
字号:
/**********************************************************************/
/***************    MTK CONFIDENTIAL & COPYRIGHTED     ****************/
/***************                                       ****************/
/***************  $Modtime:: 04/08/27 9:40a    $       ****************/
/***************  $Revision:: 1                $       ****************/
/***************                                       ****************/
/***************   Description : Microphone recoder    ****************/
/***************                                       ****************/
/***************       Company : MediaTek Inc.         ****************/
/***************    Programmer : Peter Huang           ****************/
/**********************************************************************/

#include "general.h"

#pragma NOAREGS

#ifdef KARAOKE_MIC_REC

#define MIC_REC_BAR_OFST      48
#define MIC_REC_BAR_LEN       128
#define MIC_REC_BAR_BORDER    4

static xdata BYTE _bRptABMd = MIC_REC_ORG;

/************************************************************************
     Function : void vMicRecReset(void)
  Description :
    Parameter :
    Return    :
************************************************************************/
static void vMicRecReset(void) large
{
  _bRptABMd = MIC_REC_ORG;

  _wStartX = VOL_POS_X1;
  _wStartY = 0;
  _wEndX = _wStartX + MIC_REC_BAR_OFST + MIC_REC_BAR_LEN + 8 - 1;
  _wEndY = 31;
  vRectangle(WB_NORMAL_VOL, MIC_REC_BAR_BORDER, 0, TRUE, 0);
#ifdef ALL_WB_USE_TRUECOLOR
  vSetTcPal(WB_NORMAL_VOL, 3, BLEND_3, TRUECOLOR_WHITE);
#else
  vSetPal(WB_NORMAL_VOL, 3, BLEND_3, COLOR_WHITE);
#endif
  vAdspMicRec(MIC_STOP);
}

/************************************************************************
     Function : void vMicRecCtrl(BYTE bCtrl)
  Description :
    Parameter :
    Return    :
************************************************************************/
void vMicRecCtrl(BYTE bCtrl) large
{
  switch (bCtrl)
  {
    case MIC_REC_CTRL_INIT:
      _bRptABMd = MIC_REC_ORG;
      break;

    case MIC_REC_CTRL_RESET:
      vMicRecReset();
      break;

    default:
      break;
  }
}

// *********************************************************************
// Function : void vMicRecProgressUpdate(void)
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vMicRecProgressUpdate(void) large
{
  BYTE bTmp1;
  
  if ((_bRptABMd == MIC_REC_REC) || (_bRptABMd == MIC_REC_PLAY))
  {
    bTmp1 = bAdspMicRecState(_bRptABMd);
  }
  else
  {
    return;
  }

  _wStartX = VOL_POS_X1 + MIC_REC_BAR_OFST + MIC_REC_BAR_BORDER;
  _wStartY = MIC_REC_BAR_BORDER;
  _wEndX = _wStartX + bTmp1 - 1;
  _wEndY = 31-MIC_REC_BAR_BORDER;

  vRectangle(WB_NORMAL_VOL, 0, 0, TRUE, (_bRptABMd == MIC_REC_REC) ? 2 : 3);
}

// *********************************************************************
// Function : void vMicRecStateChange(BYTE bState)
// Description :
// Parameter :
// Return    : None
// *********************************************************************
void vMicRecStateChange(BYTE bState) large
{
  vAdspMicRec(MIC_STOP);

  if (bState == SV_AB_A)
  {
    if (_bRptABMd == MIC_REC_ORG)
    {
      _wStartX = VOL_POS_X1 + MIC_REC_BAR_OFST;
      _wStartY = 0;
      _wEndX = _wStartX + MIC_REC_BAR_LEN + 8 - 1;
      _wEndY = 31;
      vRectangle(WB_NORMAL_VOL, MIC_REC_BAR_BORDER, 1, TRUE, 0);

      vAdspMicRec(MIC_REC);
      _bRptABMd = MIC_REC_REC;
#ifdef ALL_WB_USE_TRUECOLOR
      vSetTcPal(WB_NORMAL_VOL, 3, BLEND_3, TRUECOLOR_RED);
#else
      vSetPal(WB_NORMAL_VOL, 3, BLEND_3, COLOR_RED);
#endif
      vOsdPosShow(OSD_POS_AUD_CTRL1, OSD_MSG_ICON_STOP, OSD_NO_DISAPPEAR);
    }
    else if (_bRptABMd == MIC_REC_REC)
    {
      vAdspMicRec(MIC_PLAY);
      _bRptABMd = MIC_REC_PLAY;
      #ifdef ALL_WB_USE_TRUECOLOR
      vSetTcPal(WB_NORMAL_VOL, 3, BLEND_3, TRUECOLOR_DARK_GREEN);
      #else
      vSetPal(WB_NORMAL_VOL, 3, BLEND_3, COLOR_DARK_GREEN);
      #endif
      vOsdPosShow(OSD_POS_AUD_CTRL1, OSD_MSG_ICON_PLAY, OSD_NO_DISAPPEAR);
    }
    else
    {
      _wStartX = VOL_POS_X1 + MIC_REC_BAR_OFST;
      _wStartY = 0;
      _wEndX = _wStartX + MIC_REC_BAR_LEN + 8 - 1;
      _wEndY = 31;
      vRectangle(WB_NORMAL_VOL, MIC_REC_BAR_BORDER, 1, TRUE, 0);

      _bRptABMd = MIC_REC_ORG;
      #ifdef ALL_WB_USE_TRUECOLOR
      vSetTcPal(WB_NORMAL_VOL, 3, BLEND_3, TRUECOLOR_YELLOW);
      #else     
      vSetPal(WB_NORMAL_VOL, 3, BLEND_3, COLOR_YELLOW);
      #endif      
      vOsdPosShow(OSD_POS_AUD_CTRL1, OSD_MSG_ICON_REPEAT, OSD_NO_DISAPPEAR);
    }
  } /* bState == SV_AB_A */
}

#endif /* KARAOKE_MIC_REC */

⌨️ 快捷键说明

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