• 大小: 5.63MB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2023-10-22
  • 语言: 其他
  • 标签:

资源简介

基于先进的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

评论

共有 条评论