📄 audiosrc.c
字号:
{
#ifdef __MMI_PROFILE_EXTMELODY_SUPPORT__
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S8 buf[MAX_EXT_MELODY_FULLNAME_WIDTH];
#else /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
S8 buf[(FMGR_MAX_PATH_LEN + 1) * ENCODING_LENGTH];
#endif /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
BOOL play_file = FALSE;
mdi_result result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
#ifdef __MMI_PROFILE_EXTMELODY_SUPPORT__
if (soundId >= PMG_EXT_MELODY_BEGIN && soundId <= PMG_EXT_MELODY_END)
{
if (PmgGetFilePathNameByAudioId(buf, sizeof(buf), soundId) == MMI_TRUE)
{
play_file = TRUE;
}
}
else
#endif /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
{
#ifdef __MMI_DOWNLOADABLE_THEMES_SUPPORT__
if (GetAudioNameWithPathInFileSystem(soundId, (PS8) buf) != NULL)
{
play_file = TRUE;
}
#endif /* __MMI_DOWNLOADABLE_THEMES_SUPPORT__ */
}
tone_style_callback = style;
tone_type_callback = tone_type;
tone_volume_callback = volume;
if (play_file)
{
result = mdi_audio_play_file_with_vol_path(
(void*)buf,
style,
NULL,
AudioPlayToneMDICallBack,
tone_volume_callback,
path);
}
else
{
result = mdi_audio_play_id_with_vol_path(soundId, style, NULL, AudioPlayToneMDICallBack, volume, path);
}
if (result != MDI_AUDIO_SUCCESS)
{
AudioPlayToneMDICallBack(result);
}
}
/*****************************************************************************
* FUNCTION
* AudioPlayReqWithVolPath
* DESCRIPTION
*
* PARAMETERS
* soundId [IN]
* style [IN]
* volume [IN]
* path [IN]
* RETURNS
* void
*****************************************************************************/
void AudioPlayReqWithVolPath(U16 soundId, U8 style, U8 volume, U8 path)
{
#ifdef __MMI_PROFILE_EXTMELODY_SUPPORT__
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S8 buf[MAX_EXT_MELODY_FULLNAME_WIDTH];
#else /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
S8 buf[(FMGR_MAX_PATH_LEN + 1) * ENCODING_LENGTH];
#endif /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
#ifdef __MMI_PROFILE_EXTMELODY_SUPPORT__
if (soundId >= PMG_EXT_MELODY_BEGIN && soundId <= PMG_EXT_MELODY_END)
{
if (PmgGetFilePathNameByAudioId(buf, sizeof(buf), soundId) == MMI_TRUE)
{
mdi_audio_play_file_with_vol_path(buf, style, NULL, NULL, volume, path);
}
}
else
#endif /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
#if defined(__MMI_HUMAN_VOICE_KEYPAD_TONE__)
if (soundId >= MIN_HUMAN_VOICE_ID && soundId <= MAX_HUMAN_VOICE_ID)
{
audio_resource_struct *audio_resource_p = &resource_human_voice_tones[soundId - MIN_HUMAN_VOICE_ID];
if (mdi_audio_play_string_with_vol_path(
(void*)audio_resource_p->data,
audio_resource_p->len,
(U8) audio_resource_p->format,
style,
NULL,
HumanVoiceKeyTonePlayHandler,
volume,
path) == MDI_AUDIO_SUCCESS)
{
IsHumanVoiceKeyTonePlaying = 1;
}
else
{
IsHumanVoiceKeyTonePlaying = 0;
}
}
else
#endif /* defined(__MMI_HUMAN_VOICE_KEYPAD_TONE__) */
#if defined(__MMI_CUST_KEYPAD_TONE__)
if (soundId >= MIN_KEYPAD_TONE_ID && soundId <= MAX_KEYPAD_TONE_ID)
{
audio_resource_struct *audio_resource_p = &resource_keypad_tones[soundId - MIN_KEYPAD_TONE_ID];
if (mdi_audio_play_string_with_vol_path(
(void*)audio_resource_p->data,
audio_resource_p->len,
(U8) audio_resource_p->format,
style,
NULL,
CustKeyTonePlayHandler,
volume,
path) == MDI_AUDIO_SUCCESS)
{
IsCustKeyTonePlaying = 1;
}
else
{
IsCustKeyTonePlaying = 0;
}
}
else
#endif /* defined(__MMI_CUST_KEYPAD_TONE__) */
#ifdef __MMI_DOWNLOADABLE_THEMES_SUPPORT__
if (GetAudioNameWithPathInFileSystem(soundId, buf) != NULL)
{
mdi_audio_play_file_with_vol_path(buf, style, NULL, NULL, volume, path);
}
else
#endif /* __MMI_DOWNLOADABLE_THEMES_SUPPORT__ */
{
#ifdef MMI_ON_HARDWARE_P
mdi_audio_play_id_with_vol_path(soundId, style, NULL, NULL, volume, path);
#else /* MMI_ON_HARDWARE_P */
MYQUEUE Message;
mmi_eq_play_audio_req_struct *audioPlayReq;
audioPlayReq = OslConstructDataPtr(sizeof(mmi_eq_play_audio_req_struct));
audioPlayReq->sound_id = (U8) soundId;
audioPlayReq->style = 2; /* style; */
audioPlayReq->identifier = (U16) soundId; /* Robin 1127 */
Message.oslMsgId = PRT_EQ_PLAY_AUDIO_REQ;
Message.oslDataPtr = (oslParaType*) audioPlayReq;
Message.oslPeerBuffPtr = NULL;
Message.oslSrcId = MOD_MMI;
Message.oslDestId = MOD_L4C;
OslMsgSendExtQueue(&Message);
#endif /* MMI_ON_HARDWARE_P */
}
}
/*********************************************************************
* Function : AudioPlayReq
*
* Purpose : This function Play request tone
*
* Input Parameters : U16 soundId, U8 style
*
* Output Parameters : none
*
* Returns : void
*
* Remarks :
*
*
**********************************************************************/
/*****************************************************************************
* FUNCTION
* AudioPlayReq
* DESCRIPTION
*
* PARAMETERS
* soundId [IN]
* style [IN]
* RETURNS
* void
*****************************************************************************/
void AudioPlayReq(U16 soundId, U8 style)
{
#ifdef __MMI_PROFILE_EXTMELODY_SUPPORT__
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S8 buf[MAX_EXT_MELODY_FULLNAME_WIDTH];
#else /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
S8 buf[(FMGR_MAX_PATH_LEN + 1) * ENCODING_LENGTH];
#endif /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
#ifdef __MMI_PROFILE_EXTMELODY_SUPPORT__
if (soundId >= PMG_EXT_MELODY_BEGIN && soundId <= PMG_EXT_MELODY_END)
{
if (PmgGetFilePathNameByAudioId(buf, sizeof(buf), soundId) == MMI_TRUE)
{
mdi_audio_play_file(buf, style, NULL, NULL);
}
}
else
#endif /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
#if defined(__MMI_HUMAN_VOICE_KEYPAD_TONE__)
if (soundId >= MIN_HUMAN_VOICE_ID && soundId <= MAX_HUMAN_VOICE_ID)
{
audio_resource_struct *audio_resource_p = &resource_human_voice_tones[soundId - MIN_HUMAN_VOICE_ID];
if (mdi_audio_play_string_with_vol_path(
(void*)audio_resource_p->data,
audio_resource_p->len,
(U8) audio_resource_p->format,
style,
NULL,
HumanVoiceKeyTonePlayHandler,
GetKeypadVolumeLevel(),
MDI_DEVICE_SPEAKER2) == MDI_AUDIO_SUCCESS)
{
IsHumanVoiceKeyTonePlaying = 1;
}
else
{
IsHumanVoiceKeyTonePlaying = 0;
}
}
else
#endif /* defined(__MMI_HUMAN_VOICE_KEYPAD_TONE__) */
#if defined(__MMI_CUST_KEYPAD_TONE__)
if (soundId >= MIN_KEYPAD_TONE_ID && soundId <= MAX_KEYPAD_TONE_ID)
{
audio_resource_struct *audio_resource_p = &resource_keypad_tones[soundId - MIN_KEYPAD_TONE_ID];
if (mdi_audio_play_string_with_vol_path(
(void*)audio_resource_p->data,
audio_resource_p->len,
(U8) audio_resource_p->format,
style,
NULL,
CustKeyTonePlayHandler,
GetKeypadVolumeLevel(),
MDI_DEVICE_SPEAKER2) == MDI_AUDIO_SUCCESS)
{
IsCustKeyTonePlaying = 1;
}
else
{
IsCustKeyTonePlaying = 0;
}
}
else
#endif /* defined(__MMI_CUST_KEYPAD_TONE__) */
#ifdef __MMI_DOWNLOADABLE_THEMES_SUPPORT__
if (GetAudioNameWithPathInFileSystem(soundId, buf) != NULL)
{
mdi_audio_play_file(buf, style, NULL, NULL);
}
else
#endif /* __MMI_DOWNLOADABLE_THEMES_SUPPORT__ */
{
#ifdef MMI_ON_HARDWARE_P
mdi_audio_play_id(soundId, style, NULL, NULL);
#else /* MMI_ON_HARDWARE_P */
MYQUEUE Message;
mmi_eq_play_audio_req_struct *audioPlayReq;
audioPlayReq = OslConstructDataPtr(sizeof(mmi_eq_play_audio_req_struct));
audioPlayReq->sound_id = (U8) soundId;
audioPlayReq->style = 2; /* style; */
audioPlayReq->identifier = (U16) soundId; /* Robin 1127 */
Message.oslMsgId = PRT_EQ_PLAY_AUDIO_REQ;
Message.oslDataPtr = (oslParaType*) audioPlayReq;
Message.oslPeerBuffPtr = NULL;
Message.oslSrcId = MOD_MMI;
Message.oslDestId = MOD_L4C;
OslMsgSendExtQueue(&Message);
#endif /* MMI_ON_HARDWARE_P */
}
}
/*********************************************************************
Function : AudioStopReq
Purpose : This function stops sound playing.
Input Parameters : U8 soundId
Output Parameters : none
Returns : void
Remarks :
**********************************************************************/
/*****************************************************************************
* FUNCTION
* AudioStopReq
* DESCRIPTION
*
* PARAMETERS
* soundId [IN]
* RETURNS
* void
*****************************************************************************/
void AudioStopReq(U16 soundId)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (soundId >= FILESYSTEM_AUDIO_BASE && soundId <= FILESYSTEM_AUDIO_BASE_END)
{
StopAudioFileSystem(soundId);
}
#ifdef __MMI_PROFILE_EXTMELODY_SUPPORT__
else if (soundId >= PMG_EXT_MELODY_BEGIN && soundId <= PMG_EXT_MELODY_END)
{
mdi_audio_stop_file();
}
#endif /* __MMI_PROFILE_EXTMELODY_SUPPORT__ */
#if defined(__MMI_HUMAN_VOICE_KEYPAD_TONE__)
else if (soundId >= MIN_HUMAN_VOICE_ID && soundId <= MAX_HUMAN_VOICE_ID)
{
mdi_audio_stop_string();
}
#endif /* defined(__MMI_HUMAN_VOICE_KEYPAD_TONE__) */
else
{
#ifdef MMI_ON_HARDWARE_P
mdi_audio_stop_id(soundId);
#else /* MMI_ON_HARDWARE_P */
MYQUEUE Message;
mmi_eq_stop_audio_req_struct *msg_p;
msg_p = OslConstructDataPtr(sizeof(mmi_eq_stop_audio_req_struct));
msg_p->sound_id = (U8) soundId;
Message.oslMsgId = PRT_EQ_STOP_AUDIO_REQ;
Message.oslDataPtr = (oslParaType*) msg_p;
Message.oslPeerBuffPtr = NULL;
Message.oslSrcId = MOD_MMI;
Message.oslDestId = MOD_L4C;
OslMsgSendExtQueue(&Message);
#endif /* MMI_ON_HARDWARE_P */
}
}
/*****************************************************************************
* FUNCTION
* AudioPlayIMelodyString
* DESCRIPTION
*
* PARAMETERS
* string [?]
* len [IN]
* style [IN]
* RETURNS
* void
*****************************************************************************/
void AudioPlayIMelodyString(U8 *string, U16 len, U8 style)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
MYQUEUE Message;
mmi_eq_play_ext_imelody_req_struct *iMelodyPlayReq;
/*----------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -