?? c_trkin.c
字號:
}
break;
case CHA_SHAN://等待用戶選擇查詢或刪除聊天號
{
if(user_select != IDLE)
{
audio_stop(user_e1[user_num].dtmf);//停止放音
if(user_monitor_num == user_num)//往后臺回應監視信息
{
command(1,0,user_num,USER_PRESS_SIGNAL,user_select,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE);
}
if(user_select == 1)//查詢聊天號
{
command(5,2,user_num,1,user_e1[user_num].user_sex,user_e1[user_num].user_age,user_e1[user_num].telephone[0],user_e1[user_num].telephone[1],user_e1[user_num].telephone[2],user_e1[user_num].telephone[3],user_e1[user_num].telephone[4],user_e1[user_num].telephone[5],IDLE,IDLE,IDLE,IDLE);
user_e1[user_num].user_state = IDLE;
}
else
{
if(user_select == 2)//刪除聊天號
{
command(5,2,user_num,2,user_e1[user_num].user_sex,user_e1[user_num].user_age,user_e1[user_num].telephone[0],user_e1[user_num].telephone[1],user_e1[user_num].telephone[2],user_e1[user_num].telephone[3],user_e1[user_num].telephone[4],user_e1[user_num].telephone[5],IDLE,IDLE,IDLE,IDLE);
user_e1[user_num].user_state = IDLE;
}
else//錯誤的輸入
{
error_chuli(user_num);
}
}
audio_dtmf_resource[user_e1[user_num].dtmf].buf = IDLE;
}
}
break;
case INFORM_CHAT://通知用戶的聊天號
{
audio_dtmf_resource[user_e1[user_num].dtmf].num[0] = TONGZHI_CHAT_NUMBER;//“你的聊天號是:”
for(trk_j = 1;trk_j < 7;trk_j++)//清播放音
{
audio_dtmf_resource[user_e1[user_num].dtmf].num[trk_j] = user_e1[user_num].number_chat[trk_j - 1];
}
audio_dtmf_resource[user_e1[user_num].dtmf].num[8] = IDLE;
audio_dtmf_resource[user_e1[user_num].dtmf].length = 8;//置播放長度
audio_dtmf_resource[user_e1[user_num].dtmf].count = 0;//清播放次數
audio_dtmf_resource[user_e1[user_num].dtmf].index = 0;//清空段索引
//播放提示音
audio_play(user_e1[user_num].dtmf,audio_dtmf_resource[user_e1[user_num].dtmf].num[audio_dtmf_resource[user_e1[user_num].dtmf].index]);//放歡迎進入情感交友聊天室提示音
audio_dtmf_resource[user_e1[user_num].dtmf].index++;//段索引號加1
user_e1[user_num].user_state = INFORM_END;//轉為等待提示音結束
}
break;
case INFORM_SHAN://通知用戶已經成功刪除聊天號
{
clr_duan(user_num);
play_one(user_num,SHAN_DUAN);
user_e1[user_num].user_state = INFORM_END;//轉為等待提示音結束
audio_dtmf_resource[user_e1[user_num].dtmf].auto_flag = OCCUPY;
}
break;
case WAIT_NO://沒有注冊的用戶進入個人資料中心,提示是否想注冊
{
clr_duan(user_num);
play_one(user_num,ZHUCE_SELECT_DUAN);
user_e1[user_num].user_state = ZHUCE_SELECT;//轉為等待用戶選擇是否注冊
audio_dtmf_resource[user_e1[user_num].dtmf].auto_flag = OCCUPY;
}
break;
case ZHUCE_SELECT://等待用戶選擇是否注冊
{
if(user_select != IDLE)
{
audio_stop(user_e1[user_num].dtmf);//停止放音
if(user_monitor_num == user_num)//往后臺回應監視信息
{
command(1,0,user_num,USER_PRESS_SIGNAL,user_select,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE,IDLE);
}
if(user_select == 2)//用戶選擇不注冊
{
clr_duan(user_num);
play_one(user_num,FIRST_AUDIO);
audio_dtmf_resource[user_e1[user_num].dtmf].auto_flag = OCCUPY;
user_e1[user_num].user_state = SELECT_START;//轉到起始選擇
}
else
{
if(user_select == 1)//用戶選擇注冊
{
audio_stop(user_e1[user_num].dtmf);//停止當前操作
clr_duan(user_num);
play_one(user_num,USER_SEX_DUAN);
user_e1[user_num].user_state = USER_SEX;//提示輸入性別
user_e1[user_num].user_index = 0;
}
else//錯誤的選擇
{
error_chuli(user_num);
}
}
audio_dtmf_resource[user_e1[user_num].dtmf].buf = IDLE;
}
}
break;
case INFORM_ZHUCE://通知新注冊的用戶自己的聊天號
{
audio_dtmf_resource[user_e1[user_num].dtmf].num[0] = SUCCESS_ZHUCE_A;//播放情感交友私人聊天室
for(trk_j = 1;trk_j < 7;trk_j++)//清播放音
{
audio_dtmf_resource[user_e1[user_num].dtmf].num[trk_j] = user_e1[user_num].number_chat[trk_j - 1];
}
audio_dtmf_resource[user_e1[user_num].dtmf].num[7] = SUCCESS_ZHUCE_B;//播放情感交友私人聊天室
audio_dtmf_resource[user_e1[user_num].dtmf].length = 8;//置播放長度
audio_dtmf_resource[user_e1[user_num].dtmf].count = 0;//清播放次數
audio_dtmf_resource[user_e1[user_num].dtmf].index = 0;//清空段索引
audio_play(user_e1[user_num].dtmf,audio_dtmf_resource[user_e1[user_num].dtmf].num[audio_dtmf_resource[user_e1[user_num].dtmf].index]);//放歡迎進入情感交友聊天室提示音
audio_dtmf_resource[user_e1[user_num].dtmf].index++;//段索引加1
audio_dtmf_resource[user_e1[user_num].dtmf].auto_flag = OCCUPY;
if(user_e1[user_num].wait == 1)//通過進入個人資料中心注冊的用戶
{
user_e1[user_num].user_state = INFORM_END;//轉為等待提示音結束
user_e1[user_num].wait = 0;
}
else//選擇私聊進行注冊的用戶
{
user_e1[user_num].user_state = ZHUCE_END;//轉為注冊結束
}
}
break;
case ZHUCE_END://注冊結束
{
if(audio_dtmf_resource[user_e1[user_num].dtmf].count > 0)
{
clr_duan(user_num);
play_one(user_num,OPP_SEX_DUAN);
user_e1[user_num].user_state = OPP_SEX;//提示輸入對方的性別
user_e1[user_num].user_index = 0;
}
}
break;
case INFORM_END://提示音結束
{
if(audio_dtmf_resource[user_e1[user_num].dtmf].count > 0)
{
clr_duan(user_num);
play_one(user_num,FIRST_AUDIO);
audio_dtmf_resource[user_e1[user_num].dtmf].auto_flag = OCCUPY;
user_e1[user_num].user_state = SELECT_START;//轉到起始選擇
}
}
break;
case JUDGE_USER://判斷聊天室的人數
{
if(audio_dtmf_resource[user_e1[user_num].dtmf].count > 0)//歡迎提示音放完了
{
if(add_user(user_num,user_e1[user_num].password,user_e1[user_num].chat_type) != IDLE)
//聊天室的人數沒滿
{
no_sound(user_num);//無音處理
switch(user_e1[user_num].chat_type)
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
{//用戶選擇公共聊天室
clr_duan(user_num);
connect(audio_dtmf_resource[user_e1[user_num].dtmf].slot,user_e1[user_num].user_mix);
//連接相應時隙
if(user_num == user_monitor_num)
{
connect(audio_dtmf_resource[user_e1[user_num].dtmf].slot,CHAIRMAN_SLOT);//如果為監視端口,將提示音交換到監聽時隙
}
audio_dtmf_resource[user_e1[user_num].dtmf].num[0] = user_e1[user_num].user_num + 1;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[1] = INFORM_DUAN;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].length = 2;//置段長度
user_e1[user_num].user_state = INFORM_USER;//轉到通知用戶
}
break;
case 0x80://用戶選擇私人聊天室
{
if(user_num == user_monitor_num)
{
connect(audio_dtmf_resource[user_e1[user_num].dtmf].slot,CHAIRMAN_SLOT);//如果為監視端口,將提示音交換到監聽時隙
}
if(user_e1[user_num].opp_num != IDLE)//用戶已經成功進入一對一聊天室
{
connect(audio_dtmf_resource[user_e1[user_num].dtmf].slot,user_e1[user_num].opp_num);
//連接相應時隙
audio_dtmf_resource[user_e1[user_num].dtmf].num[0] = user_e1[user_num].user_num + 1;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[1] = INFORM_DUAN;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].index = 0;//清空段索引
audio_dtmf_resource[user_e1[user_num].dtmf].length = 2;//置段長度
}
else//用戶新創建了一對一聊天室
{
audio_dtmf_resource[user_e1[user_num].dtmf].count = 1;//清空放音次數
}
user_e1[user_num].user_state = INFORM_USER;//轉到通知用戶
}
break;
default:
break;
}
}
else//用戶選擇的聊天室已滿
{
connect(audio_dtmf_resource[user_e1[user_num].dtmf].slot,user_num);
//連接相應時隙
if(user_num == user_monitor_num)
{
connect(audio_dtmf_resource[user_e1[user_num].dtmf].slot,CHAIRMAN_SLOT);//如果為監視端口,將提示音交換到監聽時隙
}
play_one(user_num,FULL_DUAN);
user_e1[user_num].user_state = INFORM_END;//轉為等待提示音結束
}
if(audio_dtmf_resource[user_e1[user_num].dtmf].count != 1)
{
audio_dtmf_resource[user_e1[user_num].dtmf].index = 0;//提示音索引號加1
audio_play(user_e1[user_num].dtmf,audio_dtmf_resource[user_e1[user_num].dtmf].num[audio_dtmf_resource[user_e1[user_num].dtmf].index]);
//放提示音
audio_dtmf_resource[user_e1[user_num].dtmf].index++;//提示音索引號加1
audio_dtmf_resource[user_e1[user_num].dtmf].count = 0;//清空放音次數
}
}
}
break;
case INFORM_USER://通知用戶已經成功進入聊天系統
{
if(audio_dtmf_resource[user_e1[user_num].dtmf].count > 0)//提示音放完了
{
connect(audio_dtmf_resource[user_e1[user_num].dtmf].slot,user_num);//連接相應時隙
clr_duan(user_num);
switch(user_e1[user_num].chat_type)
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7://用戶選擇非密碼公共聊天室
{
no_sound(user_e1[user_num].user_mix);//無音處理
if(chat_common_resource[user_e1[user_num].chat_num - 0x80].user_count > 1)//公共聊天室中至少有兩個人
{
audio_dtmf_resource[user_e1[user_num].dtmf].num[0] = SUCCESS_DUANA;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[1] = user_e1[user_num].user_num + 1;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[2] = SUCCESS_DUANB;
audio_dtmf_resource[user_e1[user_num].dtmf].index = 0;//清空段索引
audio_dtmf_resource[user_e1[user_num].dtmf].length = 3;//置段長度
user_e1[user_num].user_state = SUCCESS_COMMON;//轉到成功處理
audio_play(user_e1[user_num].dtmf,audio_dtmf_resource[user_e1[user_num].dtmf].num[audio_dtmf_resource[user_e1[user_num].dtmf].index]);
//放提示音
audio_dtmf_resource[user_e1[user_num].dtmf].index++;//提示音索引號加1
}
else//用戶新創建了一個公共聊天室
{
trk_j = ask_online(user_num,user_e1[user_num].password,user_e1[user_num].chat_type);
//在線尋找第一選擇相同的用戶
if(trk_j != IDLE)
{
user_e1[user_num].opp_num = trk_j;
audio_dtmf_resource[user_e1[user_num].dtmf].num[0] = SUCCESS_DUANA;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[1] = user_e1[user_num].user_num + 1;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[2] = SUCCESS_DUANB;
audio_dtmf_resource[user_e1[user_num].dtmf].index = 0;//清空段索引
audio_dtmf_resource[user_e1[user_num].dtmf].length = 3;//置段長度
user_e1[user_num].user_state = ONLINE_CHAT;//轉到成功處理
audio_play(user_e1[user_num].dtmf,audio_dtmf_resource[user_e1[user_num].dtmf].num[audio_dtmf_resource[user_e1[user_num].dtmf].index]);
//放提示音
audio_dtmf_resource[user_e1[user_num].dtmf].index++;//提示音索引號加1
}
else//查詢有無回呼資源
{
command(5,4,user_num,user_e1[user_num].chat_type,IDLE,IDLE,IDLE,user_e1[user_num].telephone[0],user_e1[user_num].telephone[1],user_e1[user_num].telephone[2],user_e1[user_num].telephone[3],user_e1[user_num].telephone[4],user_e1[user_num].telephone[5],IDLE,IDLE,IDLE);
user_e1[user_num].user_state = IDLE;
}
}
}
break;
case 8://用戶選擇密碼聊天室
{
no_sound(user_e1[user_num].user_mix);//無音處理
if(chat_common_resource[user_e1[user_num].chat_num - 0x80].user_count > 1)//聊天室中至少有一人
{
audio_dtmf_resource[user_e1[user_num].dtmf].num[0] = SUCCESS_DUANA;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[1] = user_e1[user_num].user_num + 1;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[2] = SUCCESS_DUANB;
audio_dtmf_resource[user_e1[user_num].dtmf].index = 0;//清空段索引
audio_dtmf_resource[user_e1[user_num].dtmf].length = 3;//置段長度
user_e1[user_num].user_state = SUCCESS_COMMON;//轉到成功處理
audio_play(user_e1[user_num].dtmf,audio_dtmf_resource[user_e1[user_num].dtmf].num[audio_dtmf_resource[user_e1[user_num].dtmf].index]);
//放提示音
audio_dtmf_resource[user_e1[user_num].dtmf].index++;//提示音索引號加1
}
else//用戶新創建了一個密碼聊天室
{
trk_j = ask_online(user_num,user_e1[user_num].password,user_e1[user_num].chat_type);
if(trk_j != IDLE)
{
user_e1[user_num].opp_num = trk_j;
audio_dtmf_resource[user_e1[user_num].dtmf].num[0] = SUCCESS_DUANA;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[1] = user_e1[user_num].user_num + 1;//通知聊天室中的人X號到了
audio_dtmf_resource[user_e1[user_num].dtmf].num[2] = SUCCESS_DUANB;
audio_dtmf_resource[user_e1[user_num].dtmf].index = 0;//清空段索引
audio_dtmf_resource[user_e1[user_num].dtmf].length = 3;//置段長度
user_e1[user_num].user_state = ONLINE_CHAT;//轉到成功處理
audio_play(user_e1[user_num].dtmf,audio_dtmf_resource[user_e1[user_num].dtmf].num[audio_dtmf_resource[user_e1[user_num].dtmf].index]);
//放提示音
audio_dtmf_resource[user_e1[user_num].dtmf].index++;//提示音索引號加1
}
else
{
command(5,4,user_num,user_e1[user_num].chat_type,(user_e1[user_num].password[0] << 4) + (user_e1[user_num].password[1] & 0x0f),(user_e1[user_num].password[2] << 4) + (user_e1[user_num].password[3] & 0x0f),(user_e1[user_num].password[4] << 4) + (user_e1[user_num].password[5] & 0x0f),user_e1[user_num].telephone[0],user_e1[user_num].telephone[1],user_e1[user_num].telephone[2],user_e1[user_num].telephone[3],user_e1[user_num].telephone[4],user_e1[user_num].telephone[5],IDLE,IDLE,IDLE);
user_e1[user_num].user_state = IDLE;
}
}
}
break;
case 0x80://用戶選擇為一對一聊天
{
no_sound(user_e1[user_num].opp_num);//無音處理
if(chat_private_resource[user_e1[user_num].chat_num].user_count > 1)//用戶已經成功進入一對一聊天室
{
play_one(user_num,SUCCESS_PRIVATE);
user_e1[user_num].user_state = SUCCESS_COMMON;//轉到成功處理
}
else//用戶新創建了一個一對一聊天室
{
trk_j = ask_online(user_num,user_e1[user_num].password,user_e1[user_num].chat_type);
if(trk_j != IDLE)//在線尋找到合意的聊友
{
user_e1[user_num].opp_num = trk_j;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -