資源簡介
基于先進的H.264視頻編碼標準、AAC音頻編碼標準與P2P技術,高質量、寬適應性、分布式、模塊化的網絡音視頻互動平臺。
代碼片段和文件信息
#include?“anychat.h“
#include?
#include?
CAnyChat::CAnyChat()
{
????m_dwRemoteUserId?=?-1;
}
CAnyChat::~CAnyChat()
{
}
//
void?CAnyChat::OpenRemoteUserStream(void)
{
????if(m_dwRemoteUserId?!=?(DWORD)-1)??????//?already?opned?remote?user?stream
????????return;
????DWORD?dwUserNum?=?0;
????BRAC_GetOnlineUser(NULL?dwUserNum);
????if(dwUserNum?==?0)
????????return;
????LPDWORD?lpUserList?=?(LPDWORD)malloc(sizeof(DWORD)?*?dwUserNum);
????if(!lpUserList)
????????return;
????BRAC_GetOnlineUser(lpUserList?dwUserNum);
????for(int?i=0;?i<(int)dwUserNum;?i++)
????{
????????m_dwRemoteUserId?=?lpUserList[i];
????????BRAC_UserCameraControl(m_dwRemoteUserId?TRUE);
????????BRAC_UserSpeakControl(m_dwRemoteUserId?TRUE);
????????break;
????}
}
//?連接服務器消息
void?CAnyChat::OnAnyChatConnectMessage(BOOL?bSuccess)
{
????fprintf(stdout“On?Connect:?bSuccess(%d)\r\n“(int)bSuccess);
}
//?用戶登陸消息
void?CAnyChat::OnAnyChatLoginMessage(DWORD?dwUserId?DWORD?dwErrorCode)
{
????fprintf(stdout“On?Login:?dwUserId(%d)?ErrorCode:%d\r\n“(int)dwUserIddwErrorCode);
}
//?用戶進入房間消息
void?CAnyChat::OnAnyChatEnterRoomMessage(DWORD?dwRoomId?DWORD?dwErrorCode)
{
????fprintf(stdout“On?EnterRoom(dwRoomId=%d?dwErrorCode=%d)\r\n“dwRoomIddwErrorCode);
????if(dwErrorCode?==?0)
????{
????????BRAC_UserCameraControl(-1TRUE);
????????BRAC_UserSpeakControl(-1?TRUE);
????}
}
//?房間在線用戶消息
void?CAnyChat::OnAnyChatOnlineUserMessage(DWORD?dwUserNum?DWORD?dwRoomId)
{
????fprintf(stdout“Onlineuser(dwUserNum=%d?dwRoomId=%d)\r\n“dwUserNumdwRoomId);
????OpenRemoteUserStream();
}
//?用戶打開/關閉音頻設備設備消息
void?CAnyChat::OnAnyChatMicStateChgMessage(DWORD?dwUserId?BOOL?bOpenMic)
{
}
//?用戶進入/退出房間消息
void?CAnyChat::OnAnyChatUserAtRoomMessage(DWORD?dwUserId?BOOL?bEnter)
{
????fprintf(stdout“On?UserAtRoom(dwUserId=%d?bEnter=%d)\r\n“(int)dwUserId(int)bEnter);
????if(dwUserId?==?m_dwRemoteUserId?&&?!bEnter)
????????m_dwRemoteUserId?=?-1;
????OpenRemoteUserStream();
}
//網絡斷開消息
void?CAnyChat::OnAnyChatlinkCloseMessage(DWORD?dwErrorCode)
{
????fprintf(stdout“On?link?Close(reason=%d)\r\n“dwErrorCode);
????m_dwRemoteUserId?=?-1;
}
//?用戶攝像頭狀態改變消息
void?CAnyChat::OnAnyChatCameraStateChgMessage(DWORD?dwUserId?DWORD?dwState)
{
}
//?用戶聊天模式改變消息
void?CAnyChat::OnAnyChatChatModeChgMessage(DWORD?dwUserId?BOOL?bPublicChat)
{
}
//?用戶活動狀態發生變化消息
void?CAnyChat::OnAnyChatActiveStateChgMessage(DWORD?dwUserId?DWORD?dwState)
{
}
//?P2P連接狀態變化消息
void?CAnyChat::OnAnyChatP2PConnectStateMessage(DWORD?dwUserId?DWORD?dwState)
{
????fprintf(stdout“On?P2P?Connect?State?Change(dwUserId=%d?dwState=%d)\r\n“(int)dwUserIddwState);
}
//?用戶私聊請求消息
void?CAnyChat::OnAnyChatPrivateRequestMessage(DWORD?dwUserId?DWORD?dwRequestId)
{
}
//?用戶私聊請求回復消息
void?CAnyChat::OnAnyChatPrivateEchoMessage(DWORD?dwUserId?DWORD?dwErrorCode)
{
}
//?用戶退出私聊消息
void?CAnyChat::OnAnyChatPrivateExitMessage(DWORD?dwUserId?DWORD?dwErrorCode)
{
}
//?SDK警告消息
void?CAnyChat::OnAnyChatSDKWarnin
- 上一篇:tikz&pgf manual手冊
- 下一篇:耶魯人臉識別數據集
評論
共有 條評論