集成思路
如果是自己的小游戏的话,可以把好友等信息直接保存在亲加服务器上,通过调用api来操作。
我们游戏只使用sdk的通信功能,好友等信息保存在自己的服务器上。
用户在登陆游戏的时候,通过算法用用户的唯一ID去登陆 亲加SDK。(去登陆聊天SDK的用户ID或创建群时的ID可以 通过用户ID/公会ID 再用算法加工变换一下生成一个,避免重复)
游戏服务器不集成亲加SDK,只有前端集成。
下面SDK指亲加聊天SDK API接口
服务器通知前端 游戏登陆成功: 前端-调用聊天sdk api登陆 ,前端-从服务器获取聊天室列表,通过sdk进入世界聊天室、(公会)聊天群(如果有公会的话)
服务器通知前端 创建公会成功: 前端-sdk 创建(公会)聊天群【公开群】
服务器通知前端 加入公会成功: 前端-调用sdk 加入(公会)聊天群
服务器通知前端 公会踢出玩家/玩家退出公会 成功: 前端-调用sdk 退出(公会)聊天群 等。
语音API使用
注:如果在PC上测试,发送语音,需要插上带麦克的耳机,或者话筒,才能发语音成功。必须监听ChatListener,否则无法收到回调。
创建语音
1.开始录音
api.StartTalk (new GotyeUser(talkToName),GotyeWhineMode.GotyeWhineModeDefault,false,600000);
2.结束录音
api.StopTalk();
3.在StopTalk的回调里,发送语音
public void onStopTalk(GotyeStatusCode code, bool realtime, GotyeMessage message) { //StartTalk里参数是否是实时语音必须为false,否则message为null //发送语音
api.SendMessage(message); }
接收语音
接收消息(文本/图片/语音)
public override void onReceiveMessage(GotyeMessage message) { if (message.Type == GotyeMessageType.Text) { } else if(message.Type == GotyeMessageType.Audio) { if(File.Exists(message.Media.Path))//如果本地有这个语音文件,直接播放这个消息 { api.PlayMessage(message); } else { //下载语音文件 api.DownloadMediaInMessage(message); } } }
下载语音/图片文件,并播放
public void onDownloadMediaInMessage(GotyeStatusCode code, GotyeMessage message) { if (code == GotyeStatusCode.CodeOK) { if (message.Type == GotyeMessageType.Image) { Debug.Log ("下载消息中的图片成功!"); } else if (message.Type == GotyeMessageType.Audio) { Debug.Log ("下载消息中的音频成功!"); GotyeMedia media = message.Media; //播放语音 api.PlayMessage(message); } } }
毫无理由的 坚持、坚持、再坚持!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
2013-11-06 如何学习C++[转]