📄 aud_main.h
字号:
*/
#if defined(__MED_SND_MOD__) || defined(__MED_APP_MOD__)
typedef enum
{
SND_EVT_NOWAIT = 0,
SND_EVT_CHECK = 0x0001,
SND_EVT_PLAY = 0x0002,
SND_EVT_STOP = 0x0004,
SND_EVT_SET = 0x0008,
TS_EVT_CHECK = 0x0010,
TS_EVT_SET = 0x0020,
TS_EVT_CLOSE = 0x0040,
A3D_EVT_SET = 0x0080,
A3D_EVT_ON = 0x0100,
A3D_EVT_OFF = 0x0200
}
aud_effect_wait_event_enum;
#define EFFECT_WAIT_EVENT(evt_) do{ \
kal_uint32 retrieved_events; \
kal_retrieve_eg_events(aud_context_p->effect_event, (evt_), \
KAL_OR_CONSUME, &retrieved_events, KAL_SUSPEND); }while(0)
#define EFFECT_SET_EVENT(evt_) kal_set_eg_events(aud_context_p->effect_event, (evt_),KAL_OR)
#endif /* defined(__MED_SND_MOD__) || defined(__MED_APP_MOD__) */
#define aud_send_msg_to_med( src_id, msg_id, local_param_ptr ) aud_send_msg(src_id, MOD_MED, msg_id, local_param_ptr)
#define aud_send_msg_from_med( dst_id, msg_id, local_param_ptr ) aud_send_msg(MOD_MED, dst_id, msg_id, local_param_ptr)
#ifdef __MED_BT_A2DP_MOD__
typedef enum
{
AUD_BT_A2DP_STATE_IDLE,
AUD_BT_A2DP_STATE_CONFIGURED,
AUD_BT_A2DP_STATE_OPEN,
AUD_BT_A2DP_STATE_STREAMING
} aud_bt_a2dp_state_enum;
typedef enum
{
AUD_BT_A2DP_WAIT_NONE,
AUD_BT_A2DP_WAIT_ABORT,
AUD_BT_A2DP_WAIT_DISCOVER,
AUD_BT_A2DP_WAIT_GET_CAP,
AUD_BT_A2DP_WAIT_CONFIG_STREAM,
AUD_BT_A2DP_WAIT_RECONFIG_STREAM,
AUD_BT_A2DP_WAIT_OPEN_STREAM,
AUD_BT_A2DP_WAIT_START_STREAM,
AUD_BT_A2DP_WAIT_PAUSE_STREAM,
AUD_BT_A2DP_WAIT_CLOSE_STREAM
} aud_bt_a2dp_wait_enum;
typedef enum
{
AUD_BT_A2DP_CMD_NONE,
AUD_BT_A2DP_CMD_ABORT,
AUD_BT_A2DP_CMD_RECONFIG_STREAM,
AUD_BT_A2DP_CMD_START_STREAM,
AUD_BT_A2DP_CMD_PAUSE_STREAM,
AUD_BT_A2DP_CMD_CLOSE_STREAM
} aud_bt_a2dp_cmd_enum;
typedef enum
{
AUD_BT_A2DP_SERVICE_STATUS_IDLE,
AUD_BT_A2DP_SERVICE_STATUS_OPENING,
AUD_BT_A2DP_SERVICE_STATUS_RUNNING,
AUD_BT_A2DP_SERVICE_STATUS_CLOSING,
AUD_BT_A2DP_SERVICE_STATUS_OPENING_CLOSING
} aud_bt_a2dp_sevice_status_enum;
#endif /* __MED_BT_A2DP_MOD__ */
#ifdef __MED_BT_HFP_MOD__
typedef enum
{
AUD_BT_HFP_STATE_IDLE,
AUD_BT_HFP_STATE_OPEN
} aud_bt_hfp_state_enum;
typedef enum
{
AUD_BT_HFP_CMD_NONE,
AUD_BT_HFP_CMD_CONNECT_SCO,
AUD_BT_HFP_CMD_DISCONNECT_SCO
} aud_bt_hfp_cmd_enum;
#endif /* __MED_BT_HFP_MOD__ */
/*==== PROTOTYPE ===========*/
/* main */
extern kal_bool aud_init(void);
extern void aud_main(ilm_struct *ilm_ptr);
extern void aud_startup_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_startup_param(void);
extern void aud_startup_read_nvram_data(void);
/* audio */
extern kal_bool aud_audio_init(void);
extern void aud_get_audio_mode_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_audio_mode_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_gpio_detect_ind_hdlr(ilm_struct *ilm_ptr);
extern void aud_get_audio_profile_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_audio_profile_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_get_audio_param_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_audio_param_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_aud_path_volume(kal_uint8 audio_mode);
extern void aud_set_tv_out_aud_path(kal_uint8 tv_on);
extern void aud_set_tv_out_param(kal_uint8 enable_loud_spk);
extern void aud_audio_get_volume_req(ilm_struct *ilm_ptr);
extern void aud_audio_get_gain_req(ilm_struct *ilm_ptr);
extern void aud_audio_set_volume_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_audio_mute_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_mute_req_hdlr(ilm_struct *ilm_ptr);
extern kal_bool aud_cfg_audio_out_device(kal_uint8 audio_sound_id, kal_uint8 *out_device_path);
extern void aud_play_by_id_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_stop_by_id_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_play_by_name_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_stop_by_name_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_play_by_string_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_stop_by_string_req_hdlr(ilm_struct *ilm_ptr);
extern kal_uint8 aud_get_volume_gain(kal_uint8 mode, kal_uint8 type, kal_uint8 level);
extern kal_uint8 aud_get_volume_level(kal_uint8 mode, kal_uint8 type);
extern void aud_audio_set_device_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_audio_set_gain_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_block_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_equalizer_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_headset_mode_output_path_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_get_spectrum_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_start_calc_spectrum_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_stop_calc_spectrum_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_get_duration_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_get_progress_time_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_set_progress_time_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_set_melody_volume(kal_uint8 mode, kal_uint8 level);
/* speech */
extern kal_bool aud_speech_init(void);
extern void aud_speech_main(ilm_struct *ilm_ptr);
extern void aud_speech_set_output_device(kal_uint8 device);
extern void aud_speech_set_output_volume(kal_uint8 volume1, kal_int8 digital_gain_index);
extern void aud_speech_set_input_mode_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_speech_set_mode_req_hdlr(ilm_struct *ilm_ptr);
#ifdef __BT_SUPPORT__
extern void aud_set_bt_path_req_hdlr(ilm_struct *ilm_ptr);
#endif
extern void aud_speech_set_fir(kal_bool fir_on);
extern void aud_mic_set_device(kal_uint8 device);
extern void aud_mic_set_device_no_apply(kal_uint8 device);
extern void aud_mic_set_volume(kal_uint8 volume1, kal_uint8 volume2);
extern void aud_mic_mute(kal_bool mute);
extern void aud_side_tone_set_volume(kal_uint8 volume1, kal_int8 digital_gain_index);
/* keytone */
extern kal_bool aud_keytone_init(void);
extern void aud_keytone_main(ilm_struct *ilm_ptr);
extern void aud_keytone_set_output_device(kal_uint8 device);
extern void aud_keytone_set_output_volume(kal_uint8 volume1, kal_int8 digital_gain_index);
extern void aud_keytone_play(kal_uint8 audio_id, kal_uint8 audio_out_device);
extern void aud_keytone_stop(void);
/* tone */
extern kal_bool aud_tone_init(void);
extern void aud_tone_main(ilm_struct *ilm_ptr);
extern void aud_tone_set_output_device(kal_uint8 device);
extern void aud_tone_set_output_volume(kal_uint8 volume1, kal_int8 digital_gain_index);
extern void aud_tone_play(kal_uint8 audio_id, kal_uint8 audio_out_device);
extern void aud_tone_stop(void);
extern void aud_set_active_tone_volume(void);
/* melody */
extern kal_bool aud_melody_init(void);
extern void aud_free_melody_file_buffer(void);
extern kal_bool aud_melody_startup(void);
extern void aud_melody_main(ilm_struct *ilm_ptr);
extern void aud_melody_set_output_device(kal_uint8 device);
extern void aud_melody_set_output_volume(kal_uint8 volume1, kal_int8 digital_gain_index);
extern void aud_set_active_ring_tone_volume(void);
extern void aud_set_active_sound_volume(void);
extern void aud_get_active_device_path_by_mode(kal_uint8 request_path, void (*set_path_func)(kal_uint8));
extern kal_uint8 aud_melody_play_style_convert(kal_uint8 play_style);
extern void aud_melody_stop_crescendo(void);
extern void aud_melody_start_crescendo(kal_uint8 play_style);
extern void aud_melody_crescendo_hdlr(void *arg);
extern void aud_melody_set_volume(kal_uint8 volume1, kal_int8 aud_melody_set_volume);
extern void aud_melody_play_by_id(kal_uint8 audio_id, kal_uint8 play_style, kal_uint8 audio_out_device);
extern kal_uint8 aud_melody_play_by_name(kal_wchar *file_name, kal_uint8 play_style, kal_uint8 audio_out_device);
extern kal_int32 aud_melody_play_by_string(
kal_uint8 *string,
kal_uint8 play_style,
kal_uint32 string_len,
kal_uint8 format);
extern kal_uint8 aud_melody_restore_by_name(kal_wchar *file_name, kal_uint8 play_style, kal_uint8 audio_out_device);
extern Media_Status aud_melody_pause(void);
extern Media_Status aud_melody_resume(void);
extern void aud_melody_close_handle(void);
extern void aud_melody_set_max_swing(kal_uint16 max_swing);
extern void aud_media_play_event_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_event_callback(Media_Event event);
extern void aud_set_vibrator_enabled_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_melody_stop_driver(void);
extern void aud_melody_imy_close_backlight_ctrl(void);
extern void aud_melody_imy_vibrator_hdlr(kal_bool on);
extern void aud_melody_imy_led_hdlr(kal_bool on);
extern void aud_melody_imy_backlight_hdlr(kal_bool on);
extern void aud_store_driver_status(void);
extern void aud_restore_driver_status(void);
#ifdef __MED_MMA_MOD__
/* mma */
extern void mma_set_handle(kal_int32 handle);
extern void mma_set_status(kal_int32 status);
extern kal_bool aud_mma_startup(void);
extern void aud_mma_close_all(void);
extern void aud_mma_play_event_ind_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_open_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_close_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_play_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_stop_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_pause_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_resume_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_start_time_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_stop_time_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_rate_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_tempo_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_pitch_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_volume_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_send_long_msg_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_send_short_msg_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_open_device_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_close_device_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_channel_volume_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_program_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_mma_set_data_req_hdlr(ilm_struct *ilm_ptr);
#endif /* __MED_MMA_MOD__ */
#ifdef VM_SUPPORT
/* vm */
extern kal_bool aud_vm_init(void);
extern kal_bool aud_vm_startup(void);
extern void aud_vm_main(ilm_struct *ilm_ptr);
extern void aud_vm_set_output_volume(kal_uint8 volume1, kal_int8 digital_gain_index);
extern void aud_vm_set_output_device(kal_uint8 device);
extern kal_bool aud_vm_check_valid_id(kal_uint8 vm_id);
extern void aud_vm_play(kal_uint8 file_id, kal_uint8 play_style, kal_uint8 out_device);
extern void aud_vm_stop(void);
extern void aud_vm_get_info_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_record_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_play_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_stop_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_delete_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_abort_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_pause_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_resume_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_append_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_rename_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_get_info_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_read_data_ind_hdlr(ilm_struct *ilm_ptr);
extern void aud_vm_write_data_ind_hdlr(ilm_struct *ilm_ptr);
#endif /* VM_SUPPORT */
extern kal_bool aud_media_init(void);
extern void aud_media_main(ilm_struct *ilm_ptr);
extern void aud_media_record_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_play_stream_event_callback(MHdl *handle, Media_Event event);
extern kal_uint8 aud_media_play_byte_stream(kal_uint8 *data, kal_uint32 size, kal_uint8 play_style);
extern kal_uint8 aud_media_play_file_stream(
kal_wchar *file_name,
kal_uint8 play_style,
kal_uint8 first_time,
kal_bool resume,
void* cache_p);
extern kal_bool aud_media_pause_file_stream(kal_uint8 *res);
extern kal_bool aud_media_resume_file_stream(kal_uint8 *res);
extern kal_bool aud_media_process_file_stream(ilm_struct *ilm_ptr);
extern void aud_media_play_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_stop_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_close_file_handle(void);
extern void aud_media_pause_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_resume_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_store_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_restore_req_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_read_data_ind_hdlr(ilm_struct *ilm_ptr);
extern void aud_media_write_data_ind_hdlr(ilm_struct *ilm_ptr);
extern void aud_stop_unfinished_process(void);
extern void aud_send_fmr_power_on_req(module_type src_mod_id, kal_uint8 output_path);
extern void aud_send_fmr_power_off_req(module_type src_mod_id);
extern void aud_send_fmr_set_freq_req(module_type src_mod_id, kal_uint16 freq);
extern void aud_send_fmr_mute_req(module_type src_mod_id, kal_uint8 mute);
extern void aud_send_fmr_check_is_valid_stop_cnf(kal_uint8 is_valid);
extern void aud_send_fmr_get_signal_level_cnf(kal_uint8 sig_lvl);
extern void aud_send_fmr_evaluate_threshold_req(module_type src_mod_id);
#ifdef __MMI_SUPPORT_BACKLIGHT_SYNC__
/* -- added for turn on/off backlight by MMI task -- */
extern void aud_backlight_ctrl_rsp_hdlr(ilm_struct *ilm_ptr);
extern void aud_send_backlight_ctrl_req(module_type dst_mod_id, kal_uint8 on_off, kal_uint8 disable_timer);
#endif /* __MMI_SUPPORT_BACKLIGHT_SYNC__ */
#ifdef __MMI_SUPPORT_LED_SYNC__
/* -- added for turn on/off led by MMI task -- */
extern void aud_led_ctrl_rsp_hdlr(ilm_struct *ilm_ptr);
extern void aud_send_led_ctrl_req(module_type dst_mod_id, kal_uint8 on_off);
#endif /* __MMI_SUPPORT_LED_SYNC__ */
/* ilm */
extern void aud_send_ilm(module_type dest_id, kal_uint16 msg_id, void *local_param_ptr, void *peer_buf_ptr);
extern void aud_send_msg(module_type src_id, module_type dst_id, kal_uint16 msg_id, void *local_param_ptr);
extern void aud_send_audio_play_finish_ind(kal_uint8 result);
extern void aud_send_msg_to_nvram(msg_type msg_name, kal_uint16 ef_id, void *data_ptr, kal_uint16 length);
extern void aud_send_startup_cnf(kal_uint8 result);
extern void aud_send_set_audio_profile_cnf(kal_uint8 result);
extern void aud_send_set_audio_param_cnf(kal_uint8 result);
/* for aud_api.c, to send message to media task */
extern void aud_send_play_id_req(module_type src_mod_id, void *id_param);
extern void aud_send_stop_id_req(module_type src_mod_id, kal_uint8 audio_id);
extern void aud_send_play_string_req(module_type src_mod_id, void *string_param);
extern void aud_send_stop_string_req(module_type src_mod_id, kal_uint8 src_id);
extern void aud_send_play_file_req(module_type src_mod_id, void *file_param);
extern void aud_send_stop_file_req(module_type src_mod_id, kal_uint8 src_id);
extern void aud_send_record_req(
module_type src_mod_id,
kal_wchar *file_name,
kal_uint8 format,
kal_bool default_input,
kal_uint8 input_source);
extern void aud_send_pause_req(module_type src_mod_id, kal_uint8 src_id);
extern void aud_send_resume_req(module_type src_mod_id, kal_uint8 src_id);
extern void aud_send_stop_record_req(module_type src_mod_id, kal_uint8 src_id);
extern void aud_send_block_req(module_type src_mod_id, kal_uint16 mod_id, kal_uint8 level);
extern void aud_send_set_vibrator_enabled_req(module_type src_mod_id, kal_uint8 enable);
extern void aud_send_set_headset_mode_output_path_req(module_type src_mod_id, kal_uint8 device);
extern void aud_send_store_req(module_type src_mod_id, kal_uint8 src_id);
extern void aud_send_restore_req(module_type src_mod_id, void *file_param);
extern void aud_send_set_equalizer_req(module_type src_mod_id, kal_int8 *magnitude);
extern void aud_send_get_spectrum_req(module_type src_mod_id, kal_uint8 *top_p, kal_uint8 *val_p);
extern void aud_send_start_calc_spectrum_req(module_type src_mod_id);
extern void aud_send_stop_calc_spectrum_req(module_type src_mod_id);
extern void aud_send_get_duration_req(module_type src_mod_id, void *file_name);
extern void aud_send_get_progress_time_req(module_type src_mod_id);
extern void aud_send_set_progress_time_req(module_type src_mod_id, kal_uint32 progress);
#ifdef __MED_MMA_MOD__
/* mma */
extern void aud_send_mma_open_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handler, kal_int32 param);
extern void aud_send_mma_close_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle);
extern void aud_send_mma_play_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle);
extern void aud_send_mma_stop_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle);
extern void aud_send_mma_pause_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle);
extern void aud_send_mma_resume_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle);
extern void aud_send_mma_set_start_time_req(
module_type src_mod_id,
kal_uint8 media_type,
kal_int32 handle,
kal_int32 start_time);
extern void aud_send_mma_set_stop_time_req(
module_type src_mod_id,
kal_uint8 media_type,
kal_int32 handle,
kal_int32 stop_time);
extern void aud_send_mma_set_rate_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle, kal_int32 rate);
extern void aud_send_mma_set_tempo_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle, kal_int32 tempo);
extern void aud_send_mma_set_pitch_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle, kal_int32 pitch);
extern void aud_send_mma_set_volume_req(
module_type src_mod_id,
kal_uint8 media_type,
kal_int32 handle,
kal_uint8 volume);
extern void aud_send_mma_send_long_msg_req(
module_type src_mod_id,
kal_uint8 media_type,
kal_int32 handle,
kal_uint8 *buf,
kal_uint16 len);
extern void aud_send_mma_send_short_msg_req(
module_type src_mod_id,
kal_uint8 media_type,
kal_int32 handle,
kal_uint8 type,
kal_uint8 data1,
kal_uint8 data2);
extern void aud_send_mma_open_device_req(module_type src_mod_id, kal_uint8 media_type);
extern void aud_send_mma_close_device_req(module_type src_mod_id, kal_uint8 media_type, kal_int32 handle);
extern void aud_send_mma_set_channel_volume_req(
module_type src_mod_id,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -