更新记录
1.0.0(2021-06-24)
实现语音聊天功能
平台兼容性
Android |
Android CPU类型 |
iOS |
适用版本区间:4.4 - 11.0 |
armeabi-v7a:支持,arm64-v8a:支持,x86:支持 |
适用版本区间:9 - 16 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
简介
tx-chatroom插件致力于让开发者一键实现语音聊天室上下麦功能
tx-chatroom 快速实现常规的语音聊天室的逻辑
引入模块
const voiceroom = uni.requireNativePlugin('tx-chatroom');
设置监听事件
voiceroom.addDelegate(result=>{
console.log(result);
});
登录
voiceroom.login({"userId":this.userId,"sdkAppId":xxxxxxxxx,"sdkAppKey":"xxxxxxxxxxxxx"},result=>{
console.log(result);
})
字段 |
说明 |
userId |
用户id |
sdkAppId |
实时音视频和腾讯Im的appId |
sdkAppKey |
实时音视频和腾讯Im的appKey |
设置用户信息
voiceroom.setSelfProfile({"userName":"test",userAvatar:""},result=>{
console.log(result);
})
字段 |
说明 |
userName |
用户名称 |
userAvatar |
用户头像 |
创建房间
voiceroom.createRoom({roomId:that.roomId,roomName:"room",coverUrl:"coverUrl","seatCount":7},result=>{
console.log(result);
})
字段 |
说明 |
roomId |
房间id |
roomName |
房间名称 |
coverUrl |
房间的头像 |
seatCount |
槽位数量 |
加入语音槽
voiceroom.enterSeat({"seatIndex":0},result=>{
console.log(result);
})
下麦
voiceroom.leaveSeat(result=>{
console.log(result);
});
邀请某个上麦
voiceroom.pickSeat({"userId":obj.userId,"seatIndex":chooseIndex},result=>{
console.log(result);
})
字段 |
说明 |
userId |
用户id |
seatIndex |
槽位下标 |
关闭槽位
voiceroom.closeSeat({"seatIndex":chooseIndex,"isClose":true},result=>{
});
字段 |
说明 |
seatIndex |
槽位下标 |
isClose |
是否关闭 |
禁麦
voiceroom.muteSeat({"seatIndex":chooseIndex,"isMute":true},result=>{
});
字段 |
说明 |
seatIndex |
槽位下标 |
isMute |
是否禁麦 |
观众加入房间
voiceroom.enterRoom({"roomId":roomId},result=>{
});
发送房间消息
voiceroom.sendRoomTextMsg({"msg":msg},result=>{
console.log(result);
});
发送房间自定义消息
voiceroom.sendRoomCustomMsg({"cmd":cmd,"msg":msg},result=>{
console.log(result);
});
字段 |
说明 |
cmd |
自定义消息类型 |
msg |
消息内容 |
主播销毁房间
voiceroom.destroyRoom(result=>{
console.log(result);
})
观众退出房间
voiceroom.exitRoom();
退出登录
voiceroom.logout(result=>{})
获取用户列表
voiceroom.getUserInfoList({"userIdList":["test1"]},result=>{
console.log(result);
})
发送邀请
voiceroom.sendInvitation({"userId":obj.userId,"cmd":"2",content:"邀请你上麦"},result=>{
console.log(result);
})
字段 |
说明 |
userId |
用户id |
cmd |
自定义命令 |
content |
消息内容 |
接受邀请
voiceroom.acceptInvitation({"inviteId":identifier},result=>{
})
拒绝邀请
voiceroom.rejectInvitation({"inviteId":identifier},result=>{
})
取消邀请
voiceroom.cancelInvitation({"inviteId":identifier},result=>{
})
开始麦克风采集
voiceroom.startMicrophone();
停止麦克风采集
voiceroom.stopMicrophone();
设置声音模式
voiceroom.setAuidoQuality();
禁止本地音频采集
voiceroom.muteLocalAudio(true);
字段 |
说明 |
true or false |
是否禁止声音采集 |
设置扬声器模式
voiceroom.setSpeaker(true);
字段 |
说明 |
true or false |
是否设置扬声器 |
设置sdk采集音量
voiceroom.setAudioCaptureVolume(100);
字段 |
说明 |
整型 |
100为原始音量,范围是:[0 ~ 150],默认值为100 |
设置 SDK 播放音量
voiceroom.setAudioPlayoutVolume(100);
字段 |
说明 |
整型 |
100为原始音量,范围是:[0 ~ 150],默认值为100 |
禁止远程用户音频流
voiceroom.muteRemoteAudio(userid,true);
字段 |
说明 |
userid(字符串) |
用户id |
bool类型 |
true or false |
禁止所有音频流
voiceroom.muteAllRemoteAudio(true);
字段 |
说明 |
bool类型 |
true or false |