简体中文

音视频接口

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

音视频处理模块介绍

音视频处理接口是Kalay SDK针对iOS平台提供的核心媒体能力接口集,主要用于视频解码配置、音频监听/对讲控制、视频丢帧策略设置、本地录像及画面截图等音视频相关操作,是实现设备音视频交互的关键能力支撑。

KY_SetHWDecode

功能描述:为指定的视频通道设置解码方式(硬件解码或软件解码),硬件解码可提升性能并降低CPU占用,软件解码兼容性更好。

接口定义

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

参数说明

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

回调说明

该接口无回调函数,调用后直接生效。

返回码

该接口无返回值,解码方式的设置结果可通过实际视频播放效果验证。

代码示例

// 为 _mainChannel 指定的通道设置为软件解码 [self.camera KY_SetHWDecode:_mainChannel isHWDecode: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: 快进播放以追赶实时画面。

回调说明

该接口无回调函数,调用后直接生效。

返回码

该接口无返回值,丢帧策略的效果可通过弱网环境下的视频播放流畅度验证。

代码示例

// 设置当延迟过高时,丢弃 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 对象。

回调说明

操作结果通过 successfailure 回调异步返回:
  • success:录制开启/停止操作成功时触发
  • failure:操作失败时触发,返回的NSError包含具体错误信息

返回码

该接口无直接返回值,操作结果通过回调函数的触发状态判断:
  • success回调触发:操作成功
  • failure回调触发:操作失败,错误信息可从NSError对象中获取

代码示例

// 开始录制,录制音频,使用默认文件名和时长 [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

返回顶部