void idle_mode(void) { u8 key; input_number_en = 0; if(mic_plugged){ mic_counter=0; set_max_vol(MAX_ANOLOG_VOL,MAX_DIGITAL_VOL);///设置最大音量 dac_out_select(DAC_MUSIC | DAC_KALAOK, 0); kala_dac(); set_rec_vol(7); P3HD |=(1<<6); dsp_kalaok_channel(); vol_change_en=1; } else{ vol_change_en=0; } disp_port(MENU_NODEVICE); while (1) { key = app_get_msg(); switch (key) { case MSG_NO_DEVICE: clear_all_event(); flush_low_msg(); disp_port(MENU_NODEVICE); break; case MSG_MIC_OUT: if(mic_plugged){ work_mode = last_work_mode; mic_plugged = 0; return; //put_msg_lifo(MSG_CHANGE_WORK_MODE); } break; case MSG_MUSIC_NEW_DEVICE_IN: //有新设备接入 case MSG_CHANGE_WORK_MODE: break; work_mode = MUSIC_MODE; return; case MSG_HALF_SECOND: //////////////////////////////////////////////////////////// //显示界面的切换 #if 0 set_brightness_fade_out(); if (main_menu_conter < SUB_MENU_TIME) { main_menu_conter++; } else if (cur_menu != main_menu) { cur_menu = main_menu; disp_port(cur_menu); } #endif break; #if RTC_ENABLE case MSG_ALM_ON: write_next_alm_sec(); work_mode = RTC_MODE; put_msg_lifo(MSG_CHANGE_WORK_MODE); break; #endif default: ap_handle_hotkey(key); break; } } }
/*----------------------------------------------------------------------------*/ void rec_mic_fun(void) { REC_CHAN_PORT_INIT(); REC_CHAN_PORT_ENABLE(); set_max_vol(MAX_ANOLOG_VOL,MAX_DIGITAL_VOL);///设置最大音量 #if KALAOK_FUNCTION if(RECODE_STOP == encode_status) { dac_out_select(DAC_MUSIC | DAC_KALAOK, 0); kala_dac(); set_rec_vol(7); P3HD |=(1<<6); dsp_kalaok_channel(); vol_change_en=1; } else #endif { #if !ECHO_ENABLE ///<由于可能需要混响输出声音,此处不能静音 //if((BUSY != echo_ptr->status) ) dac_mute_control(1,1); #endif vol_change_en = 0; } input_number_en = 0; main_menu = MENU_REC; disp_port(MENU_REC); //while(1); sys_clk_div(2);//SYSTEM_CLK_DIV2(); //SYSTEM_CLK_DIV1(); #if 1 encode_channel = REC_LINEIN; encode_vol = REC_AMUX_GAIN; #else encode_channel = REC_MIC; encode_vol = REC_MIC_GAIN; #endif key_table_sel(0); flush_all_msg(); //deg_str("Rec Mode\n"); if(RECODE_INIT == encode_status) { put_msg_lifo(MSG_REC_FIND); //put_msg_lifo(MSG_REC_START); } //put_msg_lifo(MSG_REC_START); rec_mic_main(); #if KALAOK_FUNCTION if(RECODE_STOP == encode_status) { kala_dac_off(); P3HD &=~(1<<6); dsp_set_adc_con(0); } #endif dac_mute_control(0,0); REC_CHAN_PORT_DISABLE(); break_encode(); }