前言
“快对讲” 是基于 anyRTC 音视频技术 对讲业务的产品,为客户提供专业对讲、多媒体对讲和可视化调度功能。 主要功能包含:
- 频道与会话
- 多频道对讲、监听、锁定、强拆
- 音视频单人、多人呼叫、呼叫调度台
- 图片、视频上报
- 视频回传、监看
- 位置回传
- 即时消息:文字消息、语音消息、图片消息、视频消息、文件消息、位置消息
- 文字广播、媒体广播
- 监控、录像服务、调度台。
功能体验

场景功能实现
一、对讲
效果预览

部分代码实现
/**
anyRTC 云平台对讲 频道方法。
*/
__attribute__((visibility("default"))) @interface ARTalkChannel: NSObject
/// ARTalkChannelDelegate 接口类向 App 发送回调通知,上报运行时的频道相关事件。
@property (nonatomic, weak, nullable) id<ARTalkChannelDelegate> channelDelegate;
/// 加入频道。
/// - Parameter completionBlock 同一用户只能同时加入最多 20 个频道。加入频道超限时用户会收到错误码 ARTalkJoinChannelErrorExceedLimit
- (void)joinWithCompletion:(ARTalkJoinChannelBlock _Nullable)completionBlock;
/// 离开频道。
/// - Parameter completionBlock ARTalkLeaveChannelBlock 回调返回本方法的调用结果。
- (void)leaveWithCompletion:(ARTalkLeaveChannelBlock _Nullable)completionBlock;
/// 设置自己的对讲等级
/// - Parameter level 说话等级,0为最大,level 越大等级越低
- (int)setLevel:(int)level;
/// 获取自己的对讲等级
/// - returns 对讲等级
- (int)getLevel;
/// 设置推送音频质量
/// - Parameter nQuality: 1-5 低,中,高,超高,HD,默认为1
- (int)setPushAudioQuality:(int)nQuality;
/// 设置拉取音频质量,暂不可使用
/// - Parameter nQuality: 1-5 低,中,高,超高,HD,默认为1
- (int)setPullAudioQuality:(int)nQuality;
/// 开始对讲
/// - Parameter nTalkOnTime: 对讲时长,0为无限制
/// - returns 0方法调用成功,小于0方法调用失败
- (int)pushToTalk:(int)nTalkOnTime;
/// 结束对讲
/// - returns 0方法调用成功,小于0方法调用失败
- (int)stopPushToTalk;
/// 是否接收频道其它声音
/// - Parameter mute: mute true 静音,false 解除静音
/// - returns 0方法调用成功,小于0方法调用失败
- (int)muteAllRemoteAudio:(BOOL)mute;
/// 打断对讲
/// - returns 0方法调用成功,小于0方法调用失败
- (int)breakTalk;
/// 是否接收广播流
/// - Parameter enable: YES 接收,NO 不接收
- (int)enableAudioStream:(BOOL)enable;
/// 获取频道 ID
- (NSString *)getChannelId;
@end
二、频道与会话
效果预览

部分代码实现
class ARMainViewCellData: ARUICommonCellData {
/// 群id
var groupId: String = ""
/// 是否监听
var isMonitor: Bool = false
/// 监听状态
var monitorStatus: Bool = false
var groupName: String = ""
/// 群组类型(0:群组(频道),1:临时群组(会话))
var groupType: Int = 1
/// 在线人数
var onlineCount: NSInteger = 0
/// 群人数
var memberCount: NSInteger = 0
/// 用户在群组内权限(默认0,0:高,1:中,2:低,3:仅听)
var permission: NSInteger = 0
var isOwner: Bool = false
var item: ARCahnnelItem!
/// 对讲状态(优先级高)
var talkStatus: String?
/// 广播状态(优先级低)
var broadCastStatus: String?
/// 群组最大发言时长(单位:秒),默认:60s,0表示无限制
var groupMaxSpeak: NSInteger = 60
/// 最大排队人数(默认0:无排队,1:5人,2:10人)
var groupMaxQueue: NSInteger = 0
var groupDesc: String = ""
/// 群组级别(默认:0,0:低,1:中,2:高)
var groupGrade: NSInteger = 0
var groupImId: NSInteger = 0
/// 对讲状态
var userDataNofi: ARTalkUserDataNofi?
/// 未读数
var unReadNum: NSInteger = 0
weak var delegate: ARMainViewCellDataDelegate?
weak var dataSource: ARMainViewCellDataSource?
class func getCellData(item: ARCahnnelItem) -> ARMainViewCellData {
let cellData = ARMainViewCellData()
cellData.groupId = item.groupId
cellData.groupImId = item.groupImId
cellData.isMonitor = (item.isMonitor == 1)
cellData.groupName = item.groupName
cellData.groupType = item.groupType
cellData.onlineCount = item.onlineCount

最低0.47元/天 解锁文章
3078

被折叠的 条评论
为什么被折叠?



