📄 mmisounds.c
字号:
//};
//nm static ST_MENU_ITEM VOLUME_MENU_ITEMS[] = {
//nm { silent, ST_PICTURE_MENU, VOLUME_ICON_SILENT },
//nm { volLow, ST_PICTURE_MENU, VOLUME_ICON_LOW },
//nm { volMedium, ST_PICTURE_MENU, VOLUME_ICON_MEDIUM },
//nm { volHigh, ST_PICTURE_MENU, VOLUME_ICON_HIGH },
//nm { increasing, ST_PICTURE_MENU, VOLUME_ICON_INCREASING }
//nm};
/* Provide a mapping between keys and their associated DTMF tones
*/
//nmstatic const keytonemap[][2] = {
//nm { KEY_0, TONES_DTMF_0 },
//nm { KEY_1, TONES_DTMF_1 },
//nm { KEY_2, TONES_DTMF_2 },
//nm { KEY_3, TONES_DTMF_3 },
//nm { KEY_4, TONES_DTMF_4 },
//nm { KEY_5, TONES_DTMF_5 },
//nm { KEY_6, TONES_DTMF_6 },
//nm { KEY_7, TONES_DTMF_7 },
//nm { KEY_8, TONES_DTMF_8 },
//nm { KEY_9, TONES_DTMF_9 },
//nm { KEY_STAR, TONES_DTMF_STAR },
//nm { KEY_HASH, TONES_DTMF_HASH },
//nm { KEY_MNUUP, TONES_DTMF_A },
//nm { KEY_MNUDOWN, TONES_DTMF_A },
//nm { KEY_LEFT, TONES_DTMF_B },
//nm { KEY_RIGHT, TONES_DTMF_C },
//nm { KEY_CLEAR, TONES_DTMF_D },
//nm { 0, INVALID_TONE }
//nm};
//nm
static MfwMnuAttr melody_menuAttrib =
{
0,
&melody_menuArea,
MNU_LEFT | MNU_LIST | MNU_CUR_LINE, /* centered page menu */
-1, /* use default font */
NULL, /* with these items */
0 /* number of items */
};
//yq added for voicedial
extern T_MFW_HND voice_win;
extern UBYTE recognize_true;
static void VdPlayCB (void* parameter);
static void VDEnroll_cb (void* parameter);
static void VDUpdate_cb (void* parameter);
static void VDReco_cb (void* parameter);
void PlayVmRecord_cb (void* parameter);
//end yq added
//Bob added for led blink 01/23
void LedBlinkEvent()
{
MmiTrace("Bob test LED blink");
if( FlashSettingData.ledon==0 )
{
return;
}
//when ledblink is close or Hall is on or incoming call or mobile is charging, then stop blinking
if( (drvpara.hallstatusflag == 1)||(pwr_Status.charging_state!=0)||(IncallLedisRun)||(ledblinkflag==0) )
{
// if(IncallLedisRun)
// {
//ledblinkflag=0;
// }
timStop(ledblink);
MmiTraceInt(ledblinkflag);
MmiTraceInt(drvpara.hallstatusflag);
MmiTraceInt(IncallLedisRun);
MmiTraceInt(pwr_Status.charging_state);
return;
}
//MmiTrace("Bob test LED blink with entering");
if( ledblinkison==1 )
{
//reset the led blink timer
timSetTime(ledblink,500);
//the network is full service
if( ledblinkflag==1 )
{
/* 2004/03/15 sunsj remove */
//Green_On();
//if red led is on, close it Bob 02/18
/* 2004/03/15 sunsj remove */
//if( driverFlag&=0x0040 )
//Red_Off();
}
//the network is no service
else if( ledblinkflag==2 )
{
/* 2004/03/15 sunsj remove */
//Red_On();
//if green led is on, close it Bob 02/18
/* 2004/03/15 sunsj remove */
//if( driverFlag&=0x0020 )
//Green_Off();
}
ledblinkison=0;
}
else
{
//reset the led blink timer
timSetTime(ledblink,10000);
//the network is full service
if( ledblinkflag==1 )
Green_Off();
//the network is no service
/* 2004/03/15 sunsj remove */
//else if( ledblinkflag==2 )
// Red_Off();
ledblinkison=1;
}
timStart(ledblink);
}
//Bob added for start ledblink 01/23
void ledblink_begin()
{
ledblinkflag=0;
ledblink=timCreate(0,2000,(MfwCb)LedBlinkEvent);
}
/*******************************************************************************
Private Methods
*******************************************************************************/
USHORT getSoundsReason(void)
{
return soundReason;
}
/*******************************************************************************
$Function: setSoundsReason
$Description: Set the reason why the volume settings was invoked. Called to indicated
that the volume settings is being invoked from Idle or from the incoming
call screens.
$Returns: none
$Arguments: none
*******************************************************************************/
void setSoundsReason(USHORT reason)
{
switch( reason )
{
case SettingVolume:
soundReason = SettingVolume;
break;
case SoundsNone:
default:
soundReason = SoundsNone;
break;
}
}
/*******************************************************************************
$Function: volMenuItemSelected
$Description: A volume menu item has been selected, store the setting into PCM.
$Returns: none
$Arguments: none
*******************************************************************************/
void volMenuItemSelected(void)
{
volumeSetting2Pcm =TRUE;
}
/*******************************************************************************
$Function: getScrollSelectMenuItem
$Description: get the scroll/select menu status.
$Returns: Status
$Arguments: none
*******************************************************************************/
BOOL getScrollSelectMenuItem(void)
{
if( scrollSelectMenuItem == TRUE )
return TRUE;
else
return FALSE;
}
/*******************************************************************************
$Function: clearScrollSelectMenuItem
$Description: Reset the scroll/select menu behavior.
$Returns: none
$Arguments: none
*******************************************************************************/
void clearScrollSelectMenuItem(void)
{
scrollSelectMenuItem=FALSE;
// soundReason = SoundsNone; MZ this flag cleared when user exits the melody/Volume menu.
stopPlayingMelody();
}
/*******************************************************************************
$Function: soundsSetVolume
$Description: Function determines if user is in the Melody/SMS/Alarm ringer menu
and has selected the vloume settings option.
$Returns: none
$Arguments: none
*******************************************************************************/
void soundsSetVolume(void)
{
if( soundReason == MelodySelect || soundReason == SettingSMSTone ||
soundReason == SettingAlarm || soundReason == SettingVolume )
{
// Menu items will be selected on scrolling.
scrollSelectMenuItem = TRUE;
// store the setting to PCM if volume setting is selected.
volumeSetting2Pcm=FALSE;
}
else
{
scrollSelectMenuItem = FALSE;
}
}
/*******************************************************************************
$Function: setSilentModeVolumeOn
$Description:
$Returns: none
$Arguments: none
*******************************************************************************/
void setSilentModeVolume(void)
{
stopPlayingMelody();
oldVolumeSetting = current.volumeSetting;
current.volumeSetting =0;
audio_SetAmplf (AUDIO_BUZZER, current.volumeSetting);
}
/*******************************************************************************
$Function: setSilentModeVolumeOn
$Description:
$Returns: none
$Arguments: none
*******************************************************************************/
void restoreSilentModeVolume(void)
{
stopPlayingMelody();
current.volumeSetting =oldVolumeSetting;
audio_SetAmplf (AUDIO_BUZZER, current.volumeSetting);
}
/*******************************************************************************
$Function: soundReasonRinger
$Description: setup the soundReason to be Ringer Melody settings.
$Returns: none
$Arguments: none
*******************************************************************************/
void soundsVolSilent(void)
{
FFS_flashData.settings_status |= SettingsSilentMode;
flash_write();
stopPlayingMelody();
if( volumeSetting2Pcm != TRUE )
{
current.volumeSetting =0;
audio_SetAmplf (AUDIO_BUZZER, current.volumeSetting);
audio_PlaySoundID(AUDIO_BUZZER, current.ringer, 0, AUDIO_PLAY_INFINITE);
}
else
{
//store setting into PCM
volumeSetting2Pcm=FALSE;
}
}
/*******************************************************************************
$Function: soundsVolLow
$Description: set voulme level to low.
$Returns: none
$Arguments: none
*******************************************************************************/
void soundsVolLow(void)
{
FFS_flashData.settings_status &= ~SettingsSilentMode;
flash_write();
stopPlayingMelody();
if( volumeSetting2Pcm != TRUE )
{
current.volumeSetting =5;
audio_SetAmplf (AUDIO_BUZZER, current.volumeSetting);
audio_PlaySoundID(AUDIO_BUZZER, current.ringer, 0, AUDIO_PLAY_INFINITE);
}
else
{
//store setting into PCM
volumeSetting2Pcm=FALSE;
}
}
/*******************************************************************************
$Function: soundsVolMedium
$Description: set voulme level to Medium
$Returns: none
$Arguments: none
*******************************************************************************/
void soundsVolMedium(void)
{
FFS_flashData.settings_status &= ~SettingsSilentMode;
flash_write();
stopPlayingMelody();
if( volumeSetting2Pcm != TRUE )
{
current.volumeSetting =25;
audio_SetAmplf (AUDIO_BUZZER, current.volumeSetting);
audio_PlaySoundID(AUDIO_BUZZER, current.ringer, 0, AUDIO_PLAY_INFINITE);
}
else
{
//store setting into PCM
volumeSetting2Pcm=FALSE;
}
}
/*******************************************************************************
$Function: soundsVolHigh
$Description: set voulme level to High
$Returns: none
$Arguments: none
*******************************************************************************/
void soundsVolHigh(void)
{
FFS_flashData.settings_status &= ~SettingsSilentMode;
flash_write();
stopPlayingMelody();
if( volumeSetting2Pcm != TRUE )
{
current.volumeSetting =175;
audio_SetAmplf (AUDIO_BUZZER, current.volumeSetting);
audio_PlaySoundID(AUDIO_BUZZER, current.ringer, 0, AUDIO_PLAY_INFINITE);
}
else
{
//store setting into PCM
volumeSetting2Pcm=FALSE;
}
}
/*******************************************************************************
$Function: soundsVolInc
$Description: set voulme level to increasing
$Returns: none
$Arguments: none
*******************************************************************************/
void soundsVolInc(void)
{
FFS_flashData.settings_status &= ~SettingsSilentMode;
flash_write();
stopPlayingMelody();
if( volumeSetting2Pcm != TRUE )
{
current.volumeSetting = 5;
audio_SetAmplf (AUDIO_BUZZER, current.volumeSetting);
audio_PlaySoundID(AUDIO_BUZZER, current.ringer, 0, AUDIO_PLAY_INFINITE);
}
else
{
//store setting into PCM
volumeSetting2Pcm=FALSE;
}
}
/*******************************************************************************
$Function: soundReasonRinger
$Description: setup the soundReason to be Ringer Melody settings.
$Returns: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -