TTT Objective-C API Overview

三体云通过全球部署的虚拟网络,提供可以灵活搭配的 API 组合,为移动端到移动端以及移动端到 Web 端提供质量可靠的实时音视频通信。

方法

TTTRtcEngineKit 是 TTT SDK 的入口类,提供所有可供 App 调用的方法。

根据方法实现的功能,我们把所有方法分为以下几类。

核心方法

方法 功能
sharedEngineWithAppId 初始化引擎
destroy 销毁 RtcEngine 实例
setChannelProfile 设置频道模式
setClientRole 设置直播场景的用户角色
joinChannelByKey 加入频道
leaveChannel 离开频道
renewChannelByKey 更新 Token
getSdkVersion 获取SDK版本号

 

核心音频方法

方法 功能
muteLocalAudioStream 静音/取消静音
muteAllRemoteAudioStreams 是否静音所有远端音频
muteRemoteAudioStream 是否静音指定用户的音频
muteRemoteSpeaking 是否禁言指定远端用户
adjustAudioMixingSoloVolume 调节本地说话音量
enableHWAEC 启用/禁用回声消除
enableAudioDataReport 启用/关闭本地音频和远端音频数据回调
enableAudioVolumeIndication 启用说话者音量提示
setPreferAudioCodec 设置音频编码选项

核心视频方法

方法 功能
enableVideo 启用视频模块
disableVideo 关闭视频模块
setVideoProfile 设置视频编码属性
setupLocalVideo 设置本地视频显示属性
setupRemoteVideo 设置远端视频显示属性
startPreview 开启视频预览
stopPreview 停止视频预览
enableLocalVideo 开关本地视频采集
muteRemoteVideoStream 接收/停止接收指定视频流
muteAllRemoteVideoStreams 接收/停止接收所有视频流
setWaterMarkView 设置水印

音频播放路由

方法 功能
setDefaultAudioRouteToSpeakerphone 设置默认的音频播放路由
setEnableSpeakerphone 启用/关闭扬声器播放
isSpeakerphoneEnabled 查询扬声器启用状态

耳返设置

方法 功能
enableAudioEarBack 开启耳返功能

KTV

方法 功能
pushExternalAudioData 推送外部音频数据

音乐文件播放及混音设置

方法 功能
startAudioMixing 开始播放音乐文件
stopAudioMixing 停止播放音乐文件
pauseAudioMixing 暂停播放音乐文件
resumeAudioMixing 恢复播放音乐文件
adjustAudioMixingVolume 调节音乐文件播放音量
getAudioMixingDuration 获取音乐文件播放时长
getAudioMixingCurrentPosition 获取音乐文件播放进度
setAudioMixingPosition 设置音乐文件的播放位置

音效文件播放管理

方法 功能
getEffectsVolume 获取音效文件播放音量
setEffectsVolume 设置音效文件播放音量
setVolumeOfEffect 实时调整音效文件播放音量
playEffect 播放指定音效文件
stopEffect 停止播放指定音效文件
stopAllEffects 停止播放所有音效文件
preloadEffect 将指定音效文件预加载至内存
unloadEffect 从内存释放某个预加载的音效文件
pauseEffect 暂停音效文件播放
pauseAllEffects 暂停所有音效文件播放
resumeEffect 恢复播放指定音效文件
resumeAllEffects 恢复播放所有音效文件

网络相关测试

方法 功能
enableLastmileTest 启用网络测试
disableLastmileTest 关闭网络测试

视频自采集

方法 功能
setExternalVideoSource 配置外部视频源
pushExternalVideoFrame 推送外部视频帧

视频双流模式

方法 功能
enableDualStreamMode 开关视频双流模式
setRemoteVideoStream 设置订阅的视频流类型

其他视频控制

方法 功能
setLocalVideoFrameCaptureFormat 设置本地视频帧采集格式
setRemoteVideoFrameOutputFormat 设置远端视频帧输出格式

摄像头控制

方法 功能
switchCamera 切换前置/后置摄像头
setVideoMirrored 设置前置摄像头镜像
setBeautyFaceStatus 设置美颜效果

屏幕共享

方法 功能
isScreenRecording 是否正在屏幕录制
startRecordScreen 开始录制屏幕用作视频源
startRecordScreenAndSave 开始录制屏幕并保存
stopScreenCapture 停止屏幕共享

CDN推流设置

方法 功能
configPublisher 配置旁路直播推流
setVideoCompositingLayout 设置画中画布局
setVideoMixerParams 设置CDN推流视频参数
setAudioMixerParams 设置CDN推流音频参数
setVideoMixerBackgroundImgUrl 设置混屏背景图片
updateRtmpUrl 更新rtmp推流地址

直推RTMP流

该部分功能用于不加入房间,直接推流到CDN

方法 功能
startRtmpPublish 开始RTMP推流
stopRtmpPublish 停止RTMP推流
pauseRtmpPublish 暂停RTMP推流
resumeRtmpPublish 恢复RTMP推流

跨房间连麦

方法 功能
subscribeOtherChannel 订阅其它房间主播视频
unSubscribeOtherChannel 取消订阅其它房间主播视频

其他方法

方法 功能
enableCrossRoom 启用同房间多主播
setLogFile 设置日志文件路径
setLogFilter 设置日志文件过滤器
setSignalTimeout 设置信令超时时间
enableUplinkAccelerate 启用上行加速
kickChannelUser 踢出房间

回调

TTTRtcEngineDelegate 接口类采用 Delegate 方法向 App 发送回调通知。

核心事件回调

回调 事件
didOccurError 发生错误
didJoinChannel 加入频道成功
didLeaveChannelWithStats 成功离开频道
didClientRoleChangedOfUid 用户角色切换
didKickedOutOfUid 用户被踢出
didJoinedOfUid 用户加入
didOfflineOfUid 用户离线
rtcEngineConnectionDidLost 网络连接丢失回调
rtcEngineReconnectServerTimeout 重连服务器失败
rtcEngineReconnectServerSucceed 重连服务器成功
channelKeyPrivilegeWillExpire channelKey即将过期
onSetSEI 设置SEI
onSetVideoCompositingLayout 设置画中画布局的回调

媒体事件回调

回调 事件
reportAudioLevel 用户音量回调
rtcEngineCameraDidReady 摄像头启用
rtcEngineVideoDidStop 视频功能已停止
firstLocalVideoFrameWithSize 本地首帧视频显示
firstRemoteVideoFrameDecodedOfUid 已完成远端视频首帧解码
firstRemoteVideoFrameOfUid 已显示远端视频首帧回调
firstAudioFrameDecoded 远端音频第一帧解码回调
didSpeakingMuted 禁止/允许用户发言回调
didAudioMuted 远端用户音频已静音/取消静音
didVideoEnabled 远端用户启用/关闭视频功能
didVideoEnabled 用户添加/删除视频设备(多流)
didAudioRouteChanged 音频输出路由发生变化
localVideoFrameCaptured 本地视频采集
remoteVideoFrameDecodedOfUid 远端视频接收解码

数据统计事件回调

回调 事件
localVideoStats 本地视频统计
localAudioStats 本地音频统计
remoteAudioStats 远端音频统计
remoteVideoStats 远端视频统计
reportRtcStats RtcEngine统计数据
localAudioData 本端音频采集数据
remoteAudioData 远端音频数据

伴奏音效播放事件回调

回调 事件
rtcEngineAudioMixingPlayFinish 伴奏播放完成
rtcEngineDidAudioEffectFinish 本地音效文件播放已结束

其他回调

回调 事件
rtcEngineOnMediaSending 有媒体数据发送
dualStreamModeEnabled 远端用户是否启用双流的回调
lastmileQuality 网络质量检测回调
rtcEngineVideoMixerCreated 混屏创建
onStatusOfRtmpPublish 直推RTMP推流回调
reportRtmpStatus RTMP推流回调
pullAudioData 外部音频混音回调