亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? BLUETOOTH Stereo Headset Source Code,含CVC(噪音消除,回聲抵消),可用于開發藍牙立體聲耳機,藍牙車載,經過測試.
?? C
?? 第 1 頁 / 共 4 頁
字號:
            {
            case headsetReady:
            case headsetConnected:
            case headsetIncomingCallEstablish:
            case headsetOutgoingCallEstablish:
            case headsetActiveCall:
                hfpHeadsetHandleAudioDisconnectInd(&app);
                break;

            case headsetConnecting:
            case headsetInitialising:
            default:
                unhandledHfpState(current_hfp_state, id);
            }
            break;

		case HFP_MICROPHONE_VOLUME_CFM:
        case HFP_MICROPHONE_VOLUME_IND:
        case HFP_HS_BUTTON_PRESS_CFM:
        case HFP_CALLER_ID_IND:
        case HFP_LAST_NUMBER_REDIAL_CFM:
        case HFP_DIAL_NUMBER_CFM:
        case HFP_DIAL_MEMORY_CFM:
        case HFP_SERVICE_IND:
        case HFP_DISABLE_NREC_CFM:
        case HFP_CALLER_ID_ENABLE_CFM:
        case HFP_CALL_WAITING_ENABLE_CFM:
        case HFP_DTMF_CFM:
		case HFP_SINK_CFM:
        case HFP_CALL_WAITING_IND:            
        case HFP_RELEASE_HELD_REJECT_WAITING_CALL_CFM:
        case HFP_RELEASE_ACTIVE_ACCEPT_OTHER_CALL_CFM:
        case HFP_HOLD_ACTIVE_ACCEPT_OTHER_CALL_CFM:
        case HFP_ADD_HELD_CALL_CFM:
        case HFP_EXPLICIT_CALL_TRANSFER_CFM:
        case HFP_VOICE_TAG_NUMBER_CFM:
        case HFP_ANSWER_CALL_CFM:
        case HFP_REJECT_CALL_CFM:
        case HFP_TERMINATE_CALL_CFM:
        case HFP_EXTRA_INDICATOR_INDEX_IND:
        case HFP_EXTRA_INDICATOR_UPDATE_IND:
        case HFP_SPEAKER_VOLUME_CFM:
            break;        

        default:
            MAIN_DEBUG(("AV Headset - Unhandled hfp msg 0x%x\n",id));
            break;
    }
}


/**************************************************************************/
static void cl_msg_handler(MessageId id, Message message)
{
    switch (id)
    {
        case CL_INIT_CFM:
		
            MAIN_DEBUG(("CL_INIT_CFM\n"));
            if(((CL_INIT_CFM_T*)message)->status == success)
            {
                /* Connection Library initialisation was a success, initailise the 
                   A2DP library */
                a2dp_init_params a2dp_config;
                a2dp_config.role = a2dp_sink;
                a2dp_config.priority = 512;
                a2dp_config.size_service_record = 0;
                a2dp_config.service_record = 0;
                A2dpInit(getAppTask(), &a2dp_config);
            }
            else
            {
                Panic();
            }
            break;

        case CL_SM_PIN_CODE_IND:
            MAIN_DEBUG(("CL_SM_PIN_IND\n"));
            headsetHandlePinCodeInd(&app, (CL_SM_PIN_CODE_IND_T*) message);
            break;
            
        case CL_SM_AUTHORISE_IND:
			/*Only authorise if switched on*/
			if ((app.headset_power_state != power_state_off) & (app.headset_power_state != power_state_off_charging))
			{
				MAIN_DEBUG(("CL_SM_AUTHORISE_IND\n"));
        	    headsetHandleAuthoriseInd((CL_SM_AUTHORISE_IND_T*) message);
			}
            break;
            
        case CL_SM_AUTHENTICATE_CFM:
            MAIN_DEBUG(("CL_SM_AUTHENTICATE_CFM\n"));
            headsetHandleAuthenticateCfm((CL_SM_AUTHENTICATE_CFM_T*) message);
            break;
            
        case CL_DM_REMOTE_FEATURES_CFM:
            MAIN_DEBUG(("CL_DM_REMOTE_FEATURES_CFM\n"));
            headsetHandleRemoteSuppFeatures(&app, (CL_DM_REMOTE_FEATURES_CFM_T *) message);
            break;

		case CL_SM_ENCRYPTION_CHANGE_IND:
        case CL_DM_ROLE_CFM:
        case CL_DM_INQUIRE_RESULT:
        case CL_DM_REMOTE_NAME_COMPLETE:
        case CL_DM_CLASS_OF_DEVICE_CFM:
        case CL_DM_LOCAL_BD_ADDR_CFM:
        case CL_DM_LINK_QUALITY_CFM:
        case CL_DM_RSSI_CFM:
        case CL_DM_CLOCK_OFFSET_CFM:
		case CL_DM_ACL_OPENED_IND:
		case CL_DM_ACL_CLOSED_IND:
        case CL_SM_SECURITY_LEVEL_CFM:
        case CL_SDP_UNREGISTER_CFM:
        case CL_SDP_OPEN_SEARCH_CFM:
        case CL_SDP_CLOSE_SEARCH_CFM:
        case CL_SDP_SERVICE_SEARCH_CFM:
        case CL_SDP_ATTRIBUTE_SEARCH_CFM:
        case CL_SDP_SERVICE_SEARCH_ATTRIBUTE_CFM:
        case CL_L2CAP_REGISTER_CFM:
        case CL_L2CAP_UNREGISTER_CFM:
        case CL_L2CAP_CONNECT_CFM:
        case CL_L2CAP_CONNECT_IND:
        case CL_L2CAP_DISCONNECT_IND:
        case CL_RFCOMM_REGISTER_CFM:
        case CL_RFCOMM_CONNECT_CFM:
        case CL_RFCOMM_CONNECT_IND:
        case CL_RFCOMM_DISCONNECT_IND:
        case CL_RFCOMM_CONTROL_IND:
        case CL_DM_LINK_POLICY_IND:
            break;

        default:
            MAIN_DEBUG(("AV Headset - Unhandled CL msg 0x%x\n",id));
            break;
    }
}


static void app_msg_handler (MessageId id, Message message)
{

    /* Get the current Headset states */
    headsetAvrcpState current_avrcp_state = app.avrcp_state;
    headsetHfpState current_hfp_state = app.hfp_state;   
    
    bool playErrorTone = FALSE ;
    bool playButtonTone = FALSE;


    switch ( id )
    {
        case APP_HEADSET_INIT_CFM:
            MAIN_DEBUG(("APP_HEADSET_INIT_CFM\n"));
            switch(current_hfp_state)
            {
            case headsetInitialising:
                /* Headset initialisation complete */
                headsetInitReset(&app);
                break;

            case headsetReady:
            case headsetConnecting:
            case headsetConnected:
            case headsetOutgoingCallEstablish:
            case headsetIncomingCallEstablish:
            case headsetActiveCall:
            default:
                unhandledHfpState(current_hfp_state, id);
                break;
            }
            break;
            
            
        case APP_BATTERY_DEAD_IND:
            MAIN_DEBUG(("APP_BATTERY_DEAD_IND\n"));
            headsetPowerOff(&app);
            break;
            
        case APP_BATTERY_LOW_IND:
            MAIN_DEBUG(("APP_BATTERY_LOW_IND\n"));
             ledsPlay (RED_TWO_FLASHES_FAST);
             headsetPlayTone(&app, tone_type_battery_low); 
            break;  
			
        case APP_BATTERY_FULL_IND:
            MAIN_DEBUG(("APP_BATTERY_FULL_IND\n"));
			/*This is only called if there is no built-in charger (BC3-MM)*/
			app.battery_full = 1;
			headsetIndicateState(&app);
            break;
            
        case APP_MUSIC_RESTART_IND:
            MAIN_DEBUG(("APP_MUSIC_RESTART_IND\n"));
            if (app.a2dp_state != avHeadsetA2dpStreaming)
            {
                MAIN_DEBUG(("Av not streaming\n"));
                if(app.sent_suspend && app.av_stream_stopped)
                    avHeadsetAvStreamStart(&app);
            }
            else
            {
                avHeadsetAvStreamStart(&app);
            }
            break;
            
        case APP_CHARGER_CONNECTED_IND:
            MAIN_DEBUG(("APP_CHARGER_CONNECTED_IND\n"));
			/*This is only called if there is no built-in charger (BC3-MM)*/
			app.charger_connected = 1;
			headsetIndicateState(&app);
            break;
            
        case APP_CHARGER_DISCONNECTED_IND:
            MAIN_DEBUG(("APP_CHARGER_DISCONNECTED_IND\n"));
			/*This is only called if there is no built-in charger (BC3-MM)*/
            app.charger_connected = 0;
			app.battery_full = 0;
			headsetIndicateState(&app);
			if ((app.headset_power_state != power_state_on) && (app.headset_power_state != power_state_on_charging))
			{
				MessageSendLater(&app.task, APP_POWER_OFF_IND, 0, 1000);  
			}
			break;          
            
        case APP_DISCONNECT_HFP_SLC_IND:
            MAIN_DEBUG(("APP_DISCONNECT_HFP_SLC_IND\n"));
            /* The remote end disabled encryption so close down the SLC */
            hfpHeadsetDisconnectSlc(&app);
            break;
            
        case APP_HFP_SLC_REQ:
            MAIN_DEBUG(("APP_HFP_SLC_REQ\n"));
            switch(current_hfp_state)
            {           
            case headsetReady:
                hfpHeadsetHandleSlcConnectRequest(&app, hfp_handsfree_profile);
                break;
                
            case headsetConnecting:
                app.headset_connecting_hfp = 1;
                break;
                
            case headsetConnected:
            case headsetIncomingCallEstablish:
            case headsetActiveCall:
            case headsetOutgoingCallEstablish:
            case headsetInitialising:
            default:
                app.headset_connecting_hfp = 0;
            }    
            break;
            
        case APP_HFP_SLC_TIMEOUT_IND:
            MAIN_DEBUG(("APP_HFP_SLC_TIMEOUT_IND\n"));
            switch(current_hfp_state)
            {           
                case headsetConnecting:  
                    /* Now connect timeout has occured, don't try another reconnect attempt */
                    app.headset_connecting_hfp = 1;
                    break;   
                    
                case headsetReady:
                case headsetConnected:
                case headsetIncomingCallEstablish:
                case headsetActiveCall:
                case headsetOutgoingCallEstablish:
                case headsetInitialising:
                default:
                    app.headset_connecting_hfp = 0;
            }    
            break;
            
        case APP_PAIR_MODE_END_IND:
            MAIN_DEBUG(("APP_PAIR_MODE_END_IND\n"));
            
            /* Pairing mode has timed out */
            headsetExitPairingMode(&app);    
            break;
        
        case APP_POWER_OFF_IND:
            MAIN_DEBUG(("APP_POWER_OFF_IND\n"));
            headsetPowerOff(&app);
            break;
	
        case APP_AMP_IDLE_IND:
            MAIN_DEBUG(("APP_AMP_IDLE_IND\n"));
			
			if ( app.media_sink || app.sco_sink)
			{
				MessageSendLater(getAppTask(), APP_AMP_IDLE_IND, 0, AMP_IDLE_TIMER);
			}
			else
			{
            	headsetPowerAmp(&app, FALSE);
			}
			
            break;
			
		case APP_POWER_ON_EVENT_SEEN:
			MAIN_DEBUG(("APP_CHECK_POWER_ON_EVENT_SEEN\n"));
		      /*If there has been no power on event and the headset is not charging switch off*/
			headsetPowerOff(&app);
			break;
		case APP_UNMUTE_MIC:
			MAIN_DEBUG(("APP_UNMUTE_MIC\n"));
			headsetVolumeCompleteUnmuteMicrophone(&app);
			break;
			
		case APP_MUTE_REMINDER:
			MAIN_DEBUG(("APP_MUTE_REMINDER\n"));
            if (app.hfp_state == headsetActiveCall)
            {
			    headsetPlayTone(&app, tone_type_mute_remind); 
			    VolumeMuteRemind(&app);
            }
			break;	
            
		case APP_PREVENT_POWER_ON:
			MAIN_DEBUG(("APP_PREVENT_POWER_ON\n"));
			break;
            
        case APP_VOICE_DIAL:
          	MAIN_DEBUG(("APP_VOICE_DIAL\n"));
			if (app.voice_recognition_enabled)
			{
				app.voice_recognition_enabled = FALSE;
			}
			else
			{
				app.voice_recognition_enabled = TRUE;
			}
			hfpHeadsetVoiceRecognitionEnable(&app, app.voice_recognition_enabled);
          
            break;
            
        case APP_RING_TIMEOUT_IND:
            MAIN_DEBUG(("APP_RING_TIMEOUT_IND\n"));
            if ((app.profile_connected == hfp_headset_profile) && 
                !app.sco_sink &&
                (app.hfp_state == headsetIncomingCallEstablish))
            {
                headsetRestartAV(&app);
            }
            break;
            
        case APP_TONE_TO_PLAY_IND:
            MAIN_DEBUG(("APP_TONE_TO_PLAY_IND\n"));
            headsetPlayTone(&app, ((APP_TONE_TO_PLAY_IND_T *)message)->id);
            break;

        case APP_AVRCP_CONNECT_REQ:
            MAIN_DEBUG(("APP_AVRCP_CONNECT_REQ\n"));
		    avHeadsetHandleAvrcpConnectReq(&app, ((APP_AVRCP_CONNECT_REQ_T *)message)->addr);
            break;
			
		case APP_AUTO_SWITCH_OFF_IND:
            MAIN_DEBUG(("APP_AUTO_SWITCH_OFF_IND\n"));
            headsetPowerOff(&app);
            break;
            
   		 case APP_BACKWARD_SHORT:           
            BUTTON_DEBUG(("APP_BACKWARD_SHORT\n"));
            
            MessageCancelAll(&app.task, APP_BACKWARD_SHORT);

            switch (app.headset_power_state)
            {
            case power_state_on:
            case power_state_on_charging:
                switch(current_avrcp_state)
                {
                   	case avHeadsetAvrcpConnected:
                        avHeadsetBackwardPress(&app);
                        avHeadsetBackwardRelease(&app);
                        headsetPlayTone(&app, tone_type_button_press);
                        break;
                    case avHeadsetAvrcpReady:
                    case avHeadsetAvrcpInitialising:
                    case avHeadsetAvrcpConnecting:
                    default:
                        unhandledAvrcpState(current_avrcp_state, id);
                        break;      
                }
                break;
            case power_state_off:
            case power_state_off_charging:
            default:
                break;

            }
    break;

        case APP_PLAY_PAUSE_SHORT:
        BUTTON_DEBUG(("APP_PLAY_PAUSE_SHORT\n")); 
            
            MessageCancelAll(&app.task, APP_PLAY_PAUSE_SHORT);

            switch (app.headset_power_state)
            {
            case power_state_off:
            case power_state_off_charging: 
                break;

            case power_state_on:
            case power_state_on_charging:
				
        
                if (isHeadsetPairing(&app))
                {
                   headsetPlayTone(&app, tone_type_error); 
                }
				else if (isHeadsetIdle(&app))
                {
                    /* Connect the AV. */
                    headsetPlayTone(&app, tone_type_button_press); 
                    avHeadsetHandleAvConnectRequest(&app);
                }
                else
                {
					if (current_hfp_state == headsetActiveCall)
                    {
						/* Mute or un-mute the microphone */
						headsetMicrophoneMuteToggle(&app);        
                    }			
					else if ((current_hfp_state == headsetIncomingCallEstablish) || 
							 (current_hfp_state == headsetOutgoingCallEstablish) || 
							 (app.voice_recognition_enabled))
					{
                        headsetPlayTone(&app, tone_type_button_press); 
						break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美不卡视频一区| 三级欧美在线一区| 视频一区视频二区中文| 激情五月婷婷综合| 51久久夜色精品国产麻豆| 中文字幕+乱码+中文字幕一区| 亚洲综合色网站| 国产91精品一区二区麻豆网站| 欧美日韩一级黄| 亚洲精品少妇30p| 国产精品一区免费在线观看| 欧美日韩一级二级| 亚洲精品国产视频| 99久久国产综合色|国产精品| 日韩一区二区三区免费看| 亚洲精品五月天| 一本色道久久综合亚洲91| 久久噜噜亚洲综合| 精品一区二区在线观看| 欧美一区二区三区影视| 一区二区欧美视频| 一本色道久久综合狠狠躁的推荐| 国产精品美女久久久久久久久久久| 久久99国产精品麻豆| 91.com在线观看| 五月天一区二区| 欧美精品aⅴ在线视频| 亚洲线精品一区二区三区| 一本久久a久久免费精品不卡| 国产精品国模大尺度视频| 国产成人亚洲综合色影视| 久久久久国产精品厨房| 国产精品资源站在线| 国产婷婷一区二区| 国产99久久久国产精品免费看 | 精品一区二区在线播放| 日韩一区二区免费视频| 久久精品国产一区二区三| 精品精品欲导航| 韩国精品久久久| 国产女同性恋一区二区| 成人av电影免费在线播放| 亚洲欧洲三级电影| 在线免费观看日本欧美| 亚洲v日本v欧美v久久精品| 91精品国产综合久久久久久久 | www.亚洲免费av| 136国产福利精品导航| 99re这里都是精品| 午夜精品福利一区二区蜜股av | 欧美日韩一区不卡| 美日韩黄色大片| 日韩免费性生活视频播放| 国产成人午夜精品影院观看视频 | 欧美精品乱人伦久久久久久| 手机精品视频在线观看| 日韩欧美国产精品一区| 高清国产一区二区三区| 亚洲男人的天堂av| 日韩亚洲欧美在线| 成人高清视频在线| 婷婷成人综合网| 久久五月婷婷丁香社区| 91香蕉视频mp4| 秋霞午夜鲁丝一区二区老狼| 久久久99久久| 欧美日韩国产小视频| 国产精品一卡二卡在线观看| 樱桃国产成人精品视频| 日韩免费观看2025年上映的电影| 国产91在线|亚洲| 日日噜噜夜夜狠狠视频欧美人| 久久免费看少妇高潮| 欧美综合视频在线观看| 国产精品99久久久久久宅男| 亚洲一区二区美女| 国产人久久人人人人爽| 69成人精品免费视频| av网站免费线看精品| 久久精品国产色蜜蜜麻豆| 亚洲精品国产无天堂网2021| 欧美精品一区二区三区在线播放| 色综合久久综合网| 国产福利电影一区二区三区| 午夜影院在线观看欧美| 国产精品嫩草99a| 精品免费国产一区二区三区四区| 日本道免费精品一区二区三区| 国产乱人伦偷精品视频免下载 | 欧美一区二区三区四区五区| 99在线视频精品| 国产精品自拍在线| 全国精品久久少妇| 午夜精品久久久久久久蜜桃app| 欧美激情在线看| 久久久五月婷婷| 日韩一区国产二区欧美三区| 在线观看视频一区二区 | 91精品国产免费久久综合| 成人h精品动漫一区二区三区| 久久99精品国产| 日日嗨av一区二区三区四区| 亚洲第一福利视频在线| 亚洲激情综合网| 一区二区三区四区乱视频| 综合久久国产九一剧情麻豆| 国产精品嫩草影院com| 久久精品欧美一区二区三区不卡| 亚洲精品一区二区三区蜜桃下载 | 性欧美大战久久久久久久久| 亚洲一区视频在线| 亚洲综合av网| 亚洲成av人片观看| 亚洲成av人片在线| 天天综合天天做天天综合| 亚洲自拍偷拍网站| 亚洲成人黄色影院| 五月婷婷综合网| 美美哒免费高清在线观看视频一区二区 | 99这里只有久久精品视频| 粗大黑人巨茎大战欧美成人| 国产.欧美.日韩| www.色精品| 色婷婷精品久久二区二区蜜臀av | 久久久综合精品| 亚洲国产精品高清| 一区二区三区在线观看欧美| 亚洲福利一二三区| 蜜臀av性久久久久av蜜臀妖精| 免费观看一级欧美片| 国产一区二区女| 91在线视频网址| 欧美日本在线播放| wwww国产精品欧美| 亚洲特黄一级片| 婷婷激情综合网| 国产福利一区二区三区| 色欧美片视频在线观看在线视频| 欧美性生活久久| 亚洲精品一区二区三区福利| 国产精品久久久久婷婷| 亚洲综合免费观看高清在线观看| 日韩精品成人一区二区三区| 韩国v欧美v日本v亚洲v| jizzjizzjizz欧美| 5566中文字幕一区二区电影| 26uuu亚洲婷婷狠狠天堂| 美日韩一区二区| 国产乱码精品一区二区三区忘忧草| 成人福利视频网站| 欧美丰满美乳xxx高潮www| 久久久精品综合| 一二三四区精品视频| 激情欧美一区二区三区在线观看| jvid福利写真一区二区三区| 欧美精品三级日韩久久| 国产精品伦理在线| 另类综合日韩欧美亚洲| 91丨porny丨最新| 欧美va亚洲va在线观看蝴蝶网| 欧美国产日本韩| 秋霞电影一区二区| 91蜜桃传媒精品久久久一区二区| 日韩免费在线观看| 一区二区三区高清在线| 国产精品综合一区二区三区| 欧美日韩情趣电影| 中文字幕一区日韩精品欧美| 美女一区二区三区| 欧美在线免费观看视频| 亚洲国产精华液网站w| 久久国产尿小便嘘嘘尿| 精品污污网站免费看| 亚洲欧洲99久久| 国产一区激情在线| 欧美在线观看一区二区| 中文字幕欧美国产| 九九九精品视频| 欧美人xxxx| 亚洲一区免费在线观看| 成人av高清在线| 国产亚洲一二三区| 免费看日韩a级影片| 欧美三级午夜理伦三级中视频| 国产精品超碰97尤物18| 丁香网亚洲国际| 国产丝袜欧美中文另类| 精品亚洲aⅴ乱码一区二区三区| 在线不卡中文字幕| 亚洲午夜久久久久中文字幕久| 91视频免费观看| 亚洲男同性视频| 色视频成人在线观看免| 亚洲欧洲精品一区二区三区 | 亚洲另类在线视频| 99精品国产热久久91蜜凸| 欧美激情一区二区三区| 国产成人精品亚洲日本在线桃色| wwww国产精品欧美| 高清日韩电视剧大全免费|