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

📄 audiosrc.c

📁 是关于MTK声音的源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
{
#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 + -