使用jrtp与opus构建的windows局域网多人聊天dll

使用jrtp与opus构建的局域网多人聊天dll

Github

https://github.com/HaHaHaHaHaGe/Multi-person-chat

由于是使用opus作为基本进行修改的,所以工程有些杂乱,而且没有清理,体积过大(没压缩之前是4GB)
sln文件在\master_dll\win32\VS2015\opus.sln
编译好的文件在\master_dll\win32\VS2015\x64\Release\Multi-person-chat.dll

简介

这是一个局域网多人聊天的动态链接库,只能运行在windows x64平台上

发送:使用windows自带的函数获取麦克风原始音频流---->经过opus进行语音编码----->简单的加上编号为了接收端的分包----->使用jrtp进行发送数据
接收:使用jrtp接收数据------->解包查看编号,区分是哪个人发来的语音信息------->使用opus进行语音解码-------->根据编号在对应的windows播放线程中播放语音数据

函数说明

extern "C" __declspec(dllexport) void deinitial_muti_chat();
extern "C" __declspec(dllexport) void initial_muti_chat(char* ip, int port, int id);
extern "C" __declspec(dllexport) void set_chater_vol(int id, int vol);
extern "C" __declspec(dllexport) int get_chaters_info(int *id,bool *isOffline,int *Offline_time_ms,int *realtime_am,int *volume);

deinitial_muti_chat 释放所有资源(但是根据测试发现有些对象释放失败(HWAVEOUT HWAVEIN相关))

initial_muti_chat初始化参数:
ip 对方的ip地址(局域网可以用广播形式的如:192.168.0.255)
port 启用的端口(只有大家的端口相同才可以相互通话)
id 唯一的区别 (一定要确保一个局域网内,大家的id不相同)

set_chater_vol设定一个人的说话音量:
id 更改谁的音量
vol 音量大小0-100

get_chaters_info获取所有成员信息:
id 唯一的编号
isoffline 此人是否下线
Offline_time_ms 下线时间
realtime_am 这个人说话的音频幅值
volume 这个人的说话音量

注意!!

由于设备数量有限,只测试过3台设备相互通讯,大于3台设备的通讯质量无法保证

额外

这个dll是为了做ue4多人局域网语音通话而出现的
所以下一篇就是一个ue4局域网语音通信的小demo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值