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

📄 aud_main.h

📁 最新MTK手机软件源码
💻 H
📖 第 1 页 / 共 4 页
字号:
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! 
 *==============================================================================
 *******************************************************************************/

#ifndef MED_NOT_PRESENT

#ifndef _AUD_MAIN_H
#define _AUD_MAIN_H

typedef enum
{
    AUD_EVT_NOWAIT = 0,
    AUD_EVT_PLAY = 0x0001,
    AUD_EVT_STOP = 0x0002,
    AUD_EVT_RECORD = 0x0004,
    AUD_EVT_PAUSE = 0x0008,
    AUD_EVT_RESUME = 0x0010,
    AUD_EVT_BLOCK = 0x0020,
    AUD_EVT_FMR_ON = 0x0040,
    AUD_EVT_FMR_OFF = 0x0080,
    AUD_EVT_FMR_SET = 0x0100,
    AUD_EVT_FMR_MUTE = 0x0200,
    AUD_EVT_VR_GET_VER = 0x0400,
    AUD_EVT_VR_GET_PARAM = 0x0800,
    AUD_EVT_VR_SET_PARAM = 0x1000,
    AUD_EVT_VR_INIT_RCG = 0x2000,
    AUD_EVT_VR_INIT_TRN = 0x4000,
    AUD_EVT_VR_VOICE_IN = 0x8000,
    AUD_EVT_VR_DEL_TAG = 0x10000,
    AUD_EVT_VR_CHECK_TAG = 0x20000,
    AUD_EVT_VR_SYNC_DB = 0x40000,
    AUD_EVT_VR_PLAY_TAG = 0x80000,
    AUD_EVT_VR_GET_DIR = 0x100000,
    AUD_EVT_VR_ADD_TAG = 0x200000,
    AUD_EVT_VR_ABORT = 0x400000,
    AUD_EVT_GET_DURATION = 0x800000,
    AUD_EVT_GET_PROGRESS_TIME = 0x1000000,
    AUD_EVT_SET_PROGRESS_TIME = 0x2000000,
    AUD_EVT_GET_SPECTRUM = 0x4000000,
    AUD_EVT_FMR_EVA_THRESHOLD = 0x8000000
}
aud_wait_event_enum;

typedef enum
{
    VRSI_EVT_INIT = 0x0001,
    VRSI_EVT_ADD_TAGS = 0x0002,
    VRSI_EVT_START_CMD_TRN = 0x0004,
    VRSI_EVT_START_CMD_RCG = 0x0008,
    VRSI_EVT_START_DIGIT_RCG = 0x0010,
    VRSI_EVT_START_DIGIT_ADAPT = 0x0020,
    VRSI_EVT_PLAY_TAG = 0x0040,
    VRSI_EVT_PLAY_TTS = 0x0080,
    VRSI_EVT_GET_TAG_NUM = 0x0100,
    VRSI_EVT_GET_TAG_INFO = 0x0200,
    VRSI_EVT_DEL_TAGS = 0x0400,
    VRSI_EVT_RESET_TAGS = 0x0800,
    VRSI_EVT_SYNC_DB = 0x1000,
    VRSI_EVT_ABORT = 0x2000,
    VRSI_EVT_CLOSE = 0x4000
}
vrsi_wait_event_enum;

typedef enum
{
    AUD_VR_STATE_IDLE,
    AUD_VR_STATE_TRN_SESSION,
    AUD_VR_STATE_RCG_SESSION,
    AUD_VR_NO_OF_STATE
} aud_vr_state_enum;

typedef enum
{
    AUD_VR_SD_SESSION_STAGE_NOT_READY,
    AUD_VR_SD_SESSION_STAGE_READY,
    AUD_VR_SD_SESSION_STAGE_PROCESS,
    AUD_VR_SD_SESSION_STAGE_WAIT,
    AUD_VR_SD_SESSION_STAGE_PROCESS_2ND,
    AUD_VR_SD_SESSION_NO_OF_STAGE
} aud_vr_sd_session_stage_enum;

typedef enum
{
    AUD_CTM_STATE_IDLE,
    AUD_CTM_STATE_READY,
    AUD_CTM_STATE_CONNECTING,
    AUD_CTM_STATE_CONNECTED,
    AUD_CTM_STATE_SENDING,
    AUD_CTM_NO_OF_STATE
} aud_ctm_state_enum;

typedef struct
{
    module_type src_mod;
    kal_uint32 session_id;
    kal_uint16 db_path[VR_MAX_DB_PATH_LEN + 1];
    kal_uint16 group_id;
    kal_uint16 word_id;
    kal_int16 db_drive;
    kal_uint8 state;
    kal_uint8 mode;
    kal_uint8 lang;
}
aud_vr_context_struct;

typedef struct
{
    VRSI_AddTags_Param addtags_param;
    VRSI_Tag_Param tag_param;
    VRSI_Recog_Result *recog_result;
    VRSI_Digit_Recog_Result *dgt_rcg_result;
    kal_uint8 *buffer;
    kal_uint16 *id_list;
    kal_uint8 *grammar;
    kal_uint32 session_id;
    kal_bool session_on;
    kal_uint8 pmp_len;
    kal_uint8 state;
    const kal_uint16 *pmp_text;
    kal_uint16 db_path[VR_MAX_DB_PATH_LEN + 1];
} aud_vrsi_context_struct;

typedef struct
{
    kal_uint8 stage;
    kal_uint16 id_array[VR_SD_MAX_GROUP_NUM][VR_SD_MAX_GROUP_TAG_NUM];
    kal_uint16 id_length[VR_SD_MAX_GROUP_NUM];
    kal_uint8 *buffer;
}
aud_vr_sd_context_struct;

typedef struct
{
    kal_uint8 head;
    kal_uint8 tail;
    kal_uint16 queue[CTM_MAX_SEND_REQ_NUM + 1];
} aud_ctm_send_text_req_queue_struct;

typedef struct
{
    kal_uint8 state;
    kal_uint8 mode;
    kal_uint8 first_recv_utf8_byte;
    kal_bool more_recv_utf8_byte;
    module_type src_mod_id;
    kal_uint16 unsent_count;    /* count bytes */
    aud_ctm_send_text_req_queue_struct send_req_queue;
    kal_uint8 *buf_p;
    kal_uint8 *ucs2_utf8_buf_p;
    kal_uint8 input_vol, output_vol;
} aud_ctm_context_struct;

#define AUD_WAIT_EVENT(evt_) do{                                  \
         kal_uint32 retrieved_events;                             \
         kal_retrieve_eg_events(aud_context_p->aud_event, (evt_), \
         KAL_OR_CONSUME, &retrieved_events, KAL_SUSPEND); }while(0)

#define AUD_SET_EVENT(evt_) do{                                \
   kal_set_eg_events(aud_context_p->aud_event, (evt_),KAL_OR); \
   } while(0)

#define VRSI_WAIT_EVENT(evt_) do{                                  \
         kal_uint32 retrieved_events;                              \
         kal_retrieve_eg_events(aud_context_p->vrsi_event, (evt_), \
         KAL_OR_CONSUME, &retrieved_events, KAL_SUSPEND); }while(0)

#define VRSI_SET_EVENT(evt_) do{                                \
   kal_set_eg_events(aud_context_p->vrsi_event, (evt_),KAL_OR); \
   } while(0)

#define SET_CURRENT_VOLUME_LEVEL(_m_,_v_) if(aud_context_p->audio_mode<MAX_AUD_MODE_NUM&&_m_<AUD_MAX_VOLUME_TYPE)\
                                                aud_context_p->acoustic_data.volume[aud_context_p->audio_mode][_m_]=_v_
/* for MMA event group */
typedef enum
{
    MMA_EVT_NOWAIT = 0,
    MMA_EVT_OPEN = 0x0001,
    MMA_EVT_CLOSE = 0x0002,
    MMA_EVT_PLAY = 0x0004,
    MMA_EVT_STOP = 0x0008,
    MMA_EVT_PAUSE = 0x0010,
    MMA_EVT_RESUME = 0x0020,
    MMA_EVT_SET_START_TIME = 0x0040,
    MMA_EVT_SET_STOP_TIME = 0x0080,
    MMA_EVT_SET_RATE = 0x0100,
    MMA_EVT_SET_TEMPO = 0x0200,
    MMA_EVT_SET_PITCH = 0x0400,
    MMA_EVT_SET_VOLUME = 0x0800,
    MMA_EVT_SEND_LONG_MSG = 0x1000,
    MMA_EVT_SEND_SHORT_MSG = 0x2000,
    MMA_EVT_OPEN_DEVICE = 0x4000,
    MMA_EVT_CLOSE_DEVICE = 0x8000,
    MMA_EVT_SET_CHANNEL_VOLUME = 0x10000,
    MMA_EVT_SET_PROGRAM = 0x20000,
    MMA_EVT_SET_DATA = 0x40000
}
mma_wait_event_enum;

#define MMA_WAIT_EVENT(evt_) do{                                  \
         kal_uint32 retrieved_events;                             \
         kal_retrieve_eg_events(aud_context_p->mma_event, (evt_), \
         KAL_OR_CONSUME, &retrieved_events, KAL_SUSPEND); }while(0)

#define MMA_SET_EVENT(evt_) kal_set_eg_events(aud_context_p->mma_event, (evt_),KAL_OR)

/*
 * typedef enum
 * {
 * MMA_PLAYER_IMY=0,
 * MMA_PLAYER_SMF_1,
 * MMA_PLAYER_SMF_2,
 * MMA_PLAYER_SMF_3,
 * MMA_PLAYER_SMF_4,
 * MMA_PLAYER_TONE_S1,
 * MMA_PLAYER_TONE_S2,
 * MMA_PLAYER_TONE_S3,
 * MMA_PLAYER_TONE_S4,
 * MMA_PLAYER_WAV_1,
 * MMA_PLAYER_WAV_2,
 * MMA_PLAYER_WAV_3,
 * MMA_PLAYER_XWAV,
 * MMA_NO_OF_PLAYER
 * }
 * mma_player_enum;

⌨️ 快捷键说明

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