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

📄 amposd.c

📁 关于收音功能代码,并且显示在OSD和VFD上
💻 C
📖 第 1 页 / 共 4 页
字号:
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '0';
			}
			else if(bLevel == 23) 
			{
				pbStr[1] = '+';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '1';
			}	
			else if(bLevel == 24) 
			{
				pbStr[1] = '+';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '2';
			}	
		}
		
		switch(_bChMode)
		{
			case CH_MODE_FL:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_LEFT_VOL13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_FL,bLevel);
			break;

			case CH_MODE_CT:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_CENTER_VOL13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_CT,bLevel);    	 
			break;

			case CH_MODE_FR:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_RIGHT_VOL13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_FR,bLevel);      	 
			break;

			case CH_MODE_SR:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_RS_VOL13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_SR,bLevel);     	 
			break;

			case CH_MODE_SL:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_LR_VOL13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_SL,bLevel);     	 
			break;

			case CH_MODE_SUBW:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_SW_VOL13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_SUBW,bLevel);    	 
			break;  	 

			default:
			break;
		}
	}
	else
	{
		pbStr[0] = 15;

		if(0 == bLevel)
		{
			bTemp = 0;
		}
		else
		{
			bTemp = (bLevel - 1) / 2;
		}

		for(i = 0; i < pbStr[0]; i++)
		{
			if(i < bTemp)
			{
				pbStr[i+1] = ICON_VOL_3;
			}
			else if(bLevel > 0 && i == bTemp)
			{
				if(bLevel % 2)															//odd number
				{
					pbStr[i+1] = ICON_VOL_1;
				}
				else																		//even number
				{
					pbStr[i+1] = ICON_VOL_2; 
				}
			}
			else
			{
				pbStr[i+1] = ICON_VOL_0; 
			}
		}

		if(bLevel == 12)
		{
			pbStr[13] = ' ';
			pbStr[14] = '0';
			pbStr[15] = ' ';  	
		}
		else if (bLevel < 12)
		{
			if(bLevel >2) 
			{
				j = bHEXToBCD(12 - bLevel ); 
				pbStr[13] = '_';
				pbStr[14] = BCD_LO(j) + '0';
				pbStr[15] = ' ';
			}
			else if(bLevel == 2) 
			{
				pbStr[13] = '_';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '0';
			}
			else if(bLevel == 1) 
			{
				pbStr[13] = '_';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '1';
			}	
			else if(bLevel == 0) 
			{
				pbStr[13] = '_';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '2';
			}	
		}
		else if (bLevel > 12)
		{
			if(bLevel <22) 
			{
				j = bHEXToBCD(bLevel-12); 
				pbStr[13] = '+';
				pbStr[14] = BCD_LO(j) + '0';
				pbStr[15] = ' ';
			}
			else if(bLevel == 22) 
			{
				pbStr[13] = '+';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '0';
			}
			else if(bLevel == 23) 
			{
				pbStr[13] = '+';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '1';
			}	
			else if(bLevel == 24) 
			{
				pbStr[13] = '+';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '2';
			}	
		}

		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 6, 5);
		switch(_bChMode)
		{
			case CH_MODE_FL:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_LEFT_VOL11, bTime, pbStr);
				vVfdShowVOL(CH_MODE_FL,bLevel);
			break;

			case CH_MODE_CT:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_CENTER_VOL11, bTime, pbStr);
				vVfdShowVOL(CH_MODE_CT,bLevel);    	 
			break;

			case CH_MODE_FR:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_RIGHT_VOL11, bTime, pbStr);
				vVfdShowVOL(CH_MODE_FR,bLevel);      	 
			break;

			case CH_MODE_SR:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_RS_VOL11, bTime, pbStr);
				vVfdShowVOL(CH_MODE_SR,bLevel);     	 
			break;

			case CH_MODE_SL:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_LR_VOL11, bTime, pbStr);
				vVfdShowVOL(CH_MODE_SL,bLevel);     	 
			break;

			case CH_MODE_SUBW:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_SW_VOL11, bTime, pbStr);
				vVfdShowVOL(CH_MODE_SUBW,bLevel);    	 
			break;  	 

			default:
			break;
		}
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 1, 3);
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
#if 1
void vOsdShowMute(BYTE bMode) large
{
  WORD wPos;
#ifdef PLAYER_FLMENU
  BOOL fgFlMenuOn = fgFlCheckStatus(FL_STATUS_IN_MENU);
#endif

#ifdef PCD_SHOW_AUD_CTRL
  if (fgIsPcdPlay())
  {
    wPos = OSD_POS_PCD_AUD_CTRL;
  }
  else
#endif
#if 0//def MPEG4_TXT_SP
  #ifdef SUPPORT_OGG
    if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG))
  #else
    if(fgIsIsoPlay() && bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI)
  #endif
  {
     wPos = OSD_POS_KSCORE;		 	//guosong	
  }
  else
 #endif
  {
    wPos = OSD_POS_AUD_CTRL;
  }

  switch (bMode)
  {
    case OSD_MUTE_OFF:
    {
#ifdef PLAYER_FLMENU
      if (fgFlMenuOn)
      {
        vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_MUTE_OFF | FLIP_VOLUME_REDRAW);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0); //DENGSU  0825 for osd "mute" error in file browse mode.
      }
      else  
#endif
      {
      #if 0//def MPEG4_TXT_SP //Vincent @04-04-04
      #ifdef SUPPORT_OGG
        if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG))
       #else
        if(fgIsIsoPlay() && bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI)
       #endif 
        //wPos = OSD_POS_LAYER2_LINE4;
        wPos = OSD_POS_KSCORE;
      #endif      
        vOsdPosShow(wPos, OSD_MSG_MUTEOFF, OSD_TIMEOUT);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);
      }
      break;
    }

    case OSD_MUTE_ON:
    {
#ifdef PLAYER_FLMENU
      if (fgFlMenuOn)
        vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_MUTE_ON);
      else  
#endif
      {
        #if 0//def MPEG4_TXT_SP //Vincent @04-04-04
        #ifdef SUPPORT_OGG
        if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG))
        #else
          if(fgIsIsoPlay() && bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI)
        #endif
        //wPos = OSD_POS_LAYER2_LINE4;
        wPos = OSD_POS_KSCORE;
        #endif        	
        vOsdPosShow(wPos, OSD_MSG_MUTE, OSD_NO_DISAPPEAR);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_MUTE, OSD_NO_DISAPPEAR);
      }
      break;
    }

    case OSD_MUTE_CLEAR:
    default:
    {
#ifdef PLAYER_FLMENU
      if (fgFlMenuOn)
        vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_REDRAW);
      else
#endif
      {
        #if 0//def MPEG4_TXT_SP //Vincent @04-04-04
        #ifdef SUPPORT_OGG
        if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG))
        #else
          if(fgIsIsoPlay() && bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI )
        #endif
       // wPos = OSD_POS_LAYER2_LINE4;
        wPos = OSD_POS_KSCORE;
        #endif        	
        vOsdPosClear(wPos);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);
      }
      break;
    }
  }
}
#else
void vOsdShowMute(BYTE bMode) large
{
	WORD wPos;
	BOOL fgFlMenuOn = fgFlCheckStatus(FL_STATUS_IN_MENU);

	#ifdef SUPPORT_OGG
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#else
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#endif	
	{
		vOsdPosClear(OSD_POS_REMAIN_MSG);
		wPos = OSD_POS_LAYER2_LINE4;		 
	}
	else
	{
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 6, 5);
		wPos = OSD_POS_AUD_CTRL;
	}

	switch (bMode)
	{
		case OSD_MUTE_OFF:
			if (fgFlMenuOn)
			{
				vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_MUTE_OFF | FLIP_VOLUME_REDRAW);
			}
			else  
			{
				vOsdPosShow(wPos, OSD_MSG_MUTEOFF, OSD_TIMEOUT);

				vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);
				#ifdef TEMP_VERIFY_FOR_OSD_ERROR
				_bClearAudCtl = 160;        
				#endif
			}
		break;

		case OSD_MUTE_ON:
			if (fgFlMenuOn)
			{
				vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_MUTE_ON);
			}
			else  
			{   	
				#ifdef TEMP_VERIFY_FOR_OSD_ERROR          
				vOsdPosClear(wPos);          //guosong 0805
				#endif    

				vOsdPosShow(wPos, OSD_MSG_MUTE, OSD_NO_DISAPPEAR);
				vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_MUTE, OSD_NO_DISAPPEAR);
			}
		break;

		case OSD_MUTE_CLEAR:
		default:
			if (fgFlMenuOn)
			{
				vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_REDRAW);
			}
			else
			{
				vOsdPosClear(wPos);
				vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);
			}
		break;
	}

	#ifdef SUPPORT_OGG
	if(!(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG)))
	#else
	if(!(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG)))
	#endif
	{
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 1, 3);
	}
}
//#endif
#endif
/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vAmpOsdShowSpkCfgType(BYTE bType, WORD wPos) large
{
	#ifdef SUPPORT_OGG
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#else
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#endif	
	{
		vOsdPosClear(OSD_POS_REMAIN_MSG);
		wPos = OSD_POS_LAYER2_LINE4;		 
	}
	else
	{
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 6, 5);
		wPos = OSD_POS_AUD_CTRL;
	}

	switch (bType)
	{
		case EV_DOWN_OFF:
			vOsdPosShow(wPos, OSD_MSG_51CH, OSD_TIMEOUT);
			vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_NORMAL, OSD_TIMEOUT);
		break;

		case EV_CFG_STEREO:
			vOsdPosShow(wPos, OSD_MSG_STEREO_LORO, OSD_TIMEOUT);
			vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_NORMAL, OSD_TIMEOUT);
		break;
	}

	#ifdef SUPPORT_OGG
	if(!(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG)))
	#else
	if(!(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG)))
	#endif
	{
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 1, 3);
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
static code WORD pwAmpSurrTypeMsg[AUD_EQ_TYPE_MAX] = {
  /* 00 */ OSD_MSG_EQUA_OFF,
  /* 01 */ OSD_MSG_EQUA_ROCK,
  /* 02 */ OSD_MSG_EQUA_POP,
  /* 03 */ OSD_MSG_EQUA_LIVE,
  /* 04 */ OSD_MSG_EQUA_DANCE,
  /* 05 */ OSD_MSG_EQUA_TECHNO,
  /* 06 */ OSD_MSG_EQUA_CLASSIC,
  /* 07 */ OSD_MSG_EQUA_SOFT
};

void vAmpOsdShowSurrType(BYTE bType, WORD wPos) large
{
	BYTE pbStr[3];

	if (bType >= AUD_EQ_TYPE_MAX)
	{
		return;
	}

	#ifdef SUPPORT_OGG
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#else
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#endif	
	{
		vOsdPosClear(OSD_POS_REMAIN_MSG);
		wPos = OSD_POS_LAYER2_LINE4;		 
	}
	else
	{
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 6, 5);
		wPos = OSD_POS_AUD_CTRL;
	}
	
	pbStr[0] = 2;
	pbStr[1] = bLoByte(pwAmpSurrTypeMsg[bType]);
	pbStr[2] = bHiByte(pwAmpSurrTypeMsg[bType]);

	#ifdef PLAYER_FLMENU

⌨️ 快捷键说明

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