简体中文

其他接口

TUTK P2P SDK 开发指南 | iOS APIs - 音视频处理

音视频处理模块介绍

音视频处理接口是TUTK P2P SDK针对iOS平台提供的核心功能接口集,主要用于视频解码方式设置、解码延迟调整、音频监听/对讲控制、视频丢帧策略配置、本地录像及画面截图等关键场景,为APP实现音视频实时交互提供标准化调用方式。

KY_SetHWDecode

功能描述:为指定的视频通道设置解码方式(硬件解码或软件解码)。

接口定义

- (void)KY_SetHWDecode:(NSInteger)channel           isHWDeocde:(BOOL)isHWDeocde;

参数说明

参数类型说明
channelNSInteger要设置的视频通道号,通常为 0。
isHWDecodeBOOLYES 表示启用硬件解码,NO 表示启用软件解码。

回调说明

暂无额外回调,该接口为同步执行接口

返回码

该接口无返回值,执行失败通常表现为解码方式未生效,需检查通道号有效性

代码示例

// 为 _mainChannel 指定的通道设置为软件解码 [self.camera KY_SetHWDecode:_mainChannel isHWDeocde:NO];

KY_SetDecodeDelayTime

功能描述:设置视频解码的最大延迟时间和每帧的解码时间间隔,用于平衡流畅度和实时性。

接口定义

- (void)TK_setDecodeDelayTime:(NSInteger)delayTime                durationTime:(NSInteger)durationTime                    channel:(NSInteger)channel;

参数说明

参数类型说明
delayTimeNSInteger最大延迟时间,单位为毫秒 (ms)。
durationTimeNSInteger解码时间间隔,单位为毫秒 (ms),取值范围为 0 ~ 30。
channelNSInteger要设置的视频通道号,通常为 0。

回调说明

暂无额外回调,该接口为同步执行接口

返回码

该接口无返回值,参数超出范围会导致设置不生效,建议设置前校验参数合法性

代码示例

// 设置最大延迟为 1500ms,解码间隔为 15ms [self.camera TK_setDecodeDelayTime:1500 durationTime:15 channel:0];

KY_StartListen

功能描述:开启或关闭音频监听功能(即播放来自设备端的声音)。

接口定义

- (void)KY_StartListen:(NSInteger)channel               isOn:(BOOL)isOn           isPlayer:(BOOL)isPlayer;

参数说明

参数类型说明
channelNSInteger要操作的音频通道号,通常为 0。
isOnBOOLYES 表示开启监听,NO 表示关闭监听。
isPlayerBOOL是否解码并播放音频,默认为 true

回调说明

暂无额外回调,监听状态变更可通过音频播放状态自行判断

返回码

该接口无返回值,操作失败会导致音频监听功能未按预期开启/关闭

代码示例

// 开启监听功能 [self.camera KY_StartListen:_mainChannel isOn:YES isPlayer:YES];

KY_StartTalk

功能描述:开启或关闭音频对讲功能(即向设备端发送声音)。

接口定义

- (void)KY_StartTalk:(NSInteger)channel           isResend:(BOOL)isResend             isOn:(BOOL)isOn;

参数说明

参数类型说明
channelNSInteger要操作的音频通道号,通常为 0。
isResendBOOLYES 表示启用重传机制,以提高弱网环境下的通话质量。
isOnBOOLYES 表示开启对讲,NO 表示关闭对讲。

回调说明

暂无额外回调,对讲状态可通过麦克风权限及网络状态综合判断

返回码

该接口无返回值,弱网环境下启用重传机制可降低对讲失败概率

代码示例

// 开启对讲功能,并启用重传机制 [self.camera KY_StartTalk:self.mainChannel isResend:YES isOn:YES];

KY_setVideoDropModeWithChannel

功能描述:设置当视频解码缓存达到最大值时的丢帧策略,用于在网络不佳时维持流畅度。

接口定义

- (void)KY_setVideoDropModeWithChannel:(NSInteger)channel                                 mode:(DropMode)mode;

参数说明

参数类型说明
channelNSInteger要设置的视频通道号,通常为 0。
modeDropMode丢帧模式枚举:
  • mode = 0: 丢弃 P 帧(默认策略)。
  • mode = 1: 快进播放以追赶实时画面。

回调说明

暂无额外回调,丢帧策略生效可通过视频流畅度直观判断

返回码

该接口无返回值,传入非标准mode值会使用默认丢帧策略(mode=0)

代码示例

// 设置当延迟过高时,丢弃 P 帧 [self.camera KY_setVideoDropModeWithChannel:0 mode:0];

KY_StartRecording

功能描述:开启或关闭本地录像功能,将视频流(可选音频)保存为文件。

接口定义

- (void)KY_StartRecording:(NSInteger)channel                 fileName:(NSString * _Nullable)fileName             durationTime:(NSTimeInterval)durationTime                   isOn:(BOOL)isOn             isRecordAudio:(BOOL)isRecordAudio                  success:(void (^ _Nonnull)(void))success                  failure:(void (^ _Nonnull)(NSError * _Nonnull))failure;

参数说明

参数类型说明
channelNSInteger要录制的视频通道号,通常为 0。
fileNameNSString *保存到沙盒的文件名称。如果为 nil 或空字符串,SDK 可能会自动生成文件名。
durationTimeNSTimeInterval录像持续时间,单位为秒。默认值为 3 分钟。如果设置为 0,则表示持续录制直到手动停止。
isOnBOOLYES 表示开始录制,NO 表示停止录制。
isRecordAudioBOOLYES 表示同时录制音频,NO 表示只录制视频。
successblock操作成功时的回调。
failureblock操作失败时的回调,包含一个 NSError 对象。

回调说明

操作结果通过success/failure block返回,failure block包含NSError对象,可解析错误原因

返回码

失败信息可通过 NSError.code 查看,常见错误码对应存储权限不足、通道号无效、文件名称非法等

代码示例

// 开始录制,录制音频,使用默认文件名和时长 [self.camera KY_StartRecording:_mainChannel                     fileName:@""                 durationTime:0                       isOn:YES                 isRecordAudio:YES                      success:^{                          NSLog(@"录像已成功开始。");                      }                      failure:^(NSError * _Nonnull error) {                          NSLog(@"录像开始失败: %@", error.localizedDescription);                      }]; // ... 一段时间后 ... // 停止录制 [self.camera KY_StartRecording:_mainChannel                     fileName:@""                 durationTime:0                       isOn:NO                 isRecordAudio:YES                      success:^{                          NSLog(@"录像已成功停止。");                      }                      failure:^(NSError * _Nonnull error) {                          NSLog(@"录像停止失败: %@", error.localizedDescription);                      }];

KY_Snapshot

功能描述:截取当前视频画面并保存为图片文件。

接口定义

- (void)KY_Snapshot:(NSInteger)channel           fileName:(NSString * _Nullable)fileName;

参数说明

参数类型说明
channelNSInteger要截取画面的视频通道号,通常为 0。
fileNameNSString *保存到沙盒的图片文件名称(不含路径)。如果为 nil 或空字符串,SDK 可能会自动生成文件名。

回调说明

暂无额外回调,截图结果可通过沙盒文件是否生成判断

返回码

该接口无返回值,截图失败通常因通道无视频流、存储权限不足或文件名称非法导致

代码示例

// 截取当前画面,使用默认文件名 [self.camera KY_Snapshot:0 fileName:@""];

即刻开启您的物联网之旅

联系解决方案专家
Kalay App
资讯安全白皮书
全球专利布局
解决方案
新闻动态
公司动态
行业资讯
媒体报道
永续发展
经营者的话
社会参与
环境永续
公司治理

+86 755 27702549

7×24小时服务热线

法律声明 隐私权条款

关注“TUTK”

TUTK服务尽在掌握

© 2022 物联智慧科技(深圳)有限公司版权所有粤ICP备14023641号
在线咨询
扫一扫

TUTK服务尽在掌握

全国免费服务热线
+86 755 27702549

返回顶部