📄 aud_mma.c
字号:
}
break;
}
case MMA_TYPE_IMY:
player_p = &(aud_context_p->player[MMA_PLAYER_IMY]);
if (player_p->used && player_p->handle == handle)
{
status = JImy_Resume((Media_Handle*) handle);
result = (med_result_enum) aud_get_res((kal_uint8) status);
}
break;
#ifdef MMA_AMR_SUPPORT
case MMA_TYPE_AMR:
player_p = &(aud_context_p->player[MMA_PLAYER_AMR]);
if (player_p->used && player_p->handle == handle)
{
status = JAmr_Resume((Media_Handle*) handle);
result = (med_result_enum) aud_get_res((kal_uint8) status);
}
break;
#endif /* MMA_AMR_SUPPORT */
#ifdef DAF_DECODE
case MMA_TYPE_DAF:
{
player_p = &(aud_context_p->player[MMA_PLAYER_DAF]);
if (player_p->used && player_p->handle == handle)
{
status = Media_Resume();
result = (med_result_enum) aud_get_res((kal_uint8) status);
}
break;
}
#endif /* DAF_DECODE */
#ifdef AAC_DECODE
case MMA_TYPE_AAC:
{
player_p = &(aud_context_p->player[MMA_PLAYER_AAC]);
if (player_p->used && player_p->handle == handle)
{
status = Media_Resume();
result = (med_result_enum) aud_get_res((kal_uint8) status);
}
break;
}
#endif /* AAC_DECODE */
case MMA_TYPE_AU:
{
player_p = &(aud_context_p->player[MMA_PLAYER_AU]);
if (player_p->used && player_p->handle == handle)
{
status = Media_Resume();
result = (med_result_enum) aud_get_res((kal_uint8) status);
}
break;
}
default:
ASSERT(0);
result = MED_RES_ERROR;
break;
}
mma_set_status(result);
MMA_SET_EVENT(MMA_EVT_RESUME);
}
/*****************************************************************************
* FUNCTION
* aud_mma_set_start_time_req_hdlr
* DESCRIPTION
* This function is to set the start time of the media.
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_mma_set_start_time_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_mma_set_start_time_req_struct *req_p;
Media_Status status = MEDIA_FAIL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (aud_context_p->access_mod != ilm_ptr->src_mod_id)
{
mma_set_status(MED_RES_BLOCKED);
MMA_SET_EVENT(MMA_EVT_SET_START_TIME);
return;
}
req_p = (media_mma_set_start_time_req_struct*) ilm_ptr->local_para_ptr;
switch (req_p->media_type)
{
case MMA_TYPE_MIDI:
status = JSmf_SetStartTime((Media_Handle*) req_p->handle, req_p->start_time);
break;
case MMA_TYPE_TONE:
status = JTone_SetStartTime((Media_Handle*) req_p->handle, req_p->start_time);
break;
case MMA_TYPE_WAV:
status = JWav_SetStartTime((Media_Handle*) req_p->handle, req_p->start_time);
break;
case MMA_TYPE_IMY:
status = JImy_SetStartTime((Media_Handle*) req_p->handle, req_p->start_time);
break;
#ifdef MMA_AMR_SUPPORT
case MMA_TYPE_AMR:
status = JAmr_SetStartTime((Media_Handle*) req_p->handle, req_p->start_time);
break;
#endif /* MMA_AMR_SUPPORT */
}
mma_set_status((kal_int32) aud_get_res((kal_uint8) status));
MMA_SET_EVENT(MMA_EVT_SET_START_TIME);
}
/*****************************************************************************
* FUNCTION
* aud_mma_set_stop_time_req_hdlr
* DESCRIPTION
* This function is to set the stop time of the media.
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_mma_set_stop_time_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_mma_set_stop_time_req_struct *req_p;
Media_Status status = MEDIA_FAIL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (aud_context_p->access_mod != ilm_ptr->src_mod_id)
{
mma_set_status(MED_RES_BLOCKED);
MMA_SET_EVENT(MMA_EVT_SET_STOP_TIME);
return;
}
req_p = (media_mma_set_stop_time_req_struct*) ilm_ptr->local_para_ptr;
switch (req_p->media_type)
{
case MMA_TYPE_MIDI:
status = JSmf_SetStopTime((Media_Handle*) req_p->handle, req_p->stop_time);
break;
case MMA_TYPE_TONE:
status = JTone_SetStopTime((Media_Handle*) req_p->handle, req_p->stop_time);
break;
case MMA_TYPE_WAV:
status = JWav_SetStopTime((Media_Handle*) req_p->handle, req_p->stop_time);
break;
case MMA_TYPE_IMY:
status = JImy_SetStopTime((Media_Handle*) req_p->handle, req_p->stop_time);
break;
#ifdef MMA_AMR_SUPPORT
case MMA_TYPE_AMR:
status = JAmr_SetStopTime((Media_Handle*) req_p->handle, req_p->stop_time);
break;
#endif /* MMA_AMR_SUPPORT */
}
mma_set_status((kal_int32) aud_get_res((kal_uint8) status));
MMA_SET_EVENT(MMA_EVT_SET_STOP_TIME);
}
/*****************************************************************************
* FUNCTION
* aud_mma_set_rate_req_hdlr
* DESCRIPTION
* This function is to set the rate of the media.
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_mma_set_rate_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_mma_set_rate_req_struct *req_p;
Media_Status status = MEDIA_FAIL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (aud_context_p->access_mod != ilm_ptr->src_mod_id)
{
mma_set_status(MED_RES_BLOCKED);
MMA_SET_EVENT(MMA_EVT_SET_RATE);
return;
}
req_p = (media_mma_set_rate_req_struct*) ilm_ptr->local_para_ptr;
switch (req_p->media_type)
{
case MMA_TYPE_MIDI:
status = JMidi_SetRate((Media_Handle*) req_p->handle, req_p->rate);
break;
case MMA_TYPE_TONE:
case MMA_TYPE_WAV:
break;
}
mma_set_status((kal_int32) aud_get_res((kal_uint8) status));
MMA_SET_EVENT(MMA_EVT_SET_RATE);
}
/*****************************************************************************
* FUNCTION
* aud_mma_set_tempo_req_hdlr
* DESCRIPTION
* This function is to set the tempo of the media.
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_mma_set_tempo_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_mma_set_tempo_req_struct *req_p;
Media_Status status = MEDIA_FAIL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (aud_context_p->access_mod != ilm_ptr->src_mod_id)
{
mma_set_status(MED_RES_BLOCKED);
MMA_SET_EVENT(MMA_EVT_SET_TEMPO);
return;
}
req_p = (media_mma_set_tempo_req_struct*) ilm_ptr->local_para_ptr;
status = JMidi_SetTempo((Media_Handle*) req_p->handle, req_p->tempo);
mma_set_status((kal_int32) aud_get_res((kal_uint8) status));
MMA_SET_EVENT(MMA_EVT_SET_TEMPO);
}
/*****************************************************************************
* FUNCTION
* aud_mma_set_pitch_req_hdlr
* DESCRIPTION
* This function is to set the pitch of the media.
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_mma_set_pitch_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_mma_set_pitch_req_struct *req_p;
Media_Status status = MEDIA_FAIL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (aud_context_p->access_mod != ilm_ptr->src_mod_id)
{
mma_set_status(MED_RES_BLOCKED);
MMA_SET_EVENT(MMA_EVT_SET_PITCH);
return;
}
req_p = (media_mma_set_pitch_req_struct*) ilm_ptr->local_para_ptr;
switch (req_p->media_type)
{
case MMA_TYPE_MIDI:
status = JMidi_SetPitchTranspose((Media_Handle*) req_p->handle, req_p->pitch);
break;
case MMA_TYPE_TONE:
status = JTone_SetPitchShift((Media_Handle*) req_p->handle, (kal_int8) req_p->pitch);
break;
case MMA_TYPE_WAV:
break;
}
mma_set_status((kal_int32) aud_get_res((kal_uint8) status));
MMA_SET_EVENT(MMA_EVT_SET_PITCH);
}
/*****************************************************************************
* FUNCTION
* aud_mma_set_volume_req_hdlr
* DESCRIPTION
* This function is to set the volume of the media.
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_mma_set_volume_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
media_mma_set_volume_req_struct *req_p;
Media_Status status = MEDIA_FAIL;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (aud_context_p->access_mod != ilm_ptr->src_mod_id)
{
mma_set_status(MED_RES_BLOCKED);
MMA_SET_EVENT(MMA_EVT_SET_VOLUME);
return;
}
req_p = (media_mma_set_volume_req_struct*) ilm_ptr->local_para_ptr;
switch (req_p->media_type)
{
case MMA_TYPE_MIDI:
status = JMidi_SetLevel((Media_Handle*) req_p->handle, req_p->volume);
break;
case MMA_TYPE_TONE:
status = JTone_SetLevel((Media_Handle*) req_p->handle, req_p->volume);
break;
case MMA_TYPE_WAV:
status = JWav_SetLevel((Media_Handle*) req_p->handle, req_p->volume);
break;
case MMA_TYPE_IMY:
status = JImy_SetLevel((Media_Handle*) req_p->handle, req_p->volume);
break;
#ifdef MMA_AMR_SUPPORT
case MMA_TYPE_AMR:
status = JAmr_SetLevel((Media_Handle*) req_p->handle, req_p->volume);
break;
#endif /* MMA_AMR_SUPPORT */
}
mma_set_status((kal_int32) aud_get_res((kal_uint8) status));
MMA_SET_EVENT(MMA_EVT_SET_VOLUME);
}
/*****************************************************************************
* FUNCTION
* aud_mma_send_long_msg_req_hdlr
* DESCRIPTION
* This function is to send long msg of the media.
* PARAMETERS
* ilm_ptr [?]
* RETURNS
* void
*****************************************************************************/
void aud_mma_send_long_msg_req_hdlr(ilm_struct *ilm_ptr)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -