P2P連線模塊介紹
P2P連線接口是Kalay SDK針對iOS平臺提供的核心設(shè)備連接能力接口集,主要用于設(shè)備連接認證、指定通道斷開、全通道斷開等關(guān)鍵場景,為APP實現(xiàn)與設(shè)備的穩(wěn)定P2P連接及音視頻出圖提供標準化調(diào)用方式。
KY_Connect
功能描述:連接設(shè)備并解碼出圖,支持不同認證方式和視頻數(shù)據(jù)輸出格式配置。
接口定義
- (void)KY_Connect:(NSString * _Nonnull)uid
authKey:(NSString * _Nonnull)authKey
authType:(AvAuthType)authType
password:(NSString * _Nonnull)password
channel:(NSInteger)channel
isDecode:(BOOL)isDecode
renderType:(RENDERTYPE)renderType;
參數(shù)說明
| 參數(shù) | 類型 | 說明 |
|---|---|---|
| uid | NSString * | 設(shè)備唯一標識符 (UID) |
| authKey | NSString * | 用于 AuthKey 方式認證的密鑰。 |
| authType | AvAuthType | 認證類型枚舉(例如,密碼認證或 AuthKey 認證)。 |
| password | NSString * | 設(shè)備訪問密碼(當(dāng) authType 為密碼認證時使用)。 |
| channel | NSInteger | 要開啟并出圖的通道號,默認值為 0。 |
| isDecode | BOOL | 是否進行解碼并渲染畫面,默認為 YES。 |
| renderType | RENDERTYPE | 指定渲染輸出的數(shù)據(jù)類型。參考 RENDERTYPE 枚舉 定義。 |
RENDERTYPE 枚舉
| 枚舉值 | 說明 |
|---|---|
OUTPUT_EMPTY (0) | 僅接收、解碼、渲染視頻流,不對外輸出原始數(shù)據(jù)。 |
OUTPUT_YUV (1) | 接收、解碼、渲染,并輸出 I420 格式的 YUV 數(shù)據(jù)(此操作會消耗額外性能)。 |
OUTPUT_RGB_8888 (2) | 接收、解碼、渲染,并輸出 RGB_8888 格式的數(shù)據(jù)(此操作會消耗額外性能)。 |
OUTPUT_RGB_565 (3) | 接收、解碼、渲染,并輸出 RGB_565 格式的數(shù)據(jù)(此操作會消耗額外性能)。 |
OUTPUT_YUV_NV12 (4) | 接收、解碼、渲染,并輸出 NV12 格式的 YUV 數(shù)據(jù)(此操作會消耗額外性能)。 |
回調(diào)說明
連接狀態(tài)和結(jié)果通常通過設(shè)置 delegate 并實現(xiàn)相應(yīng)的回調(diào)方法來獲取(例如,
KY_DeviceStatus)。返回碼
詳細的返回碼會在 delegate 的回調(diào)方法中提供。
代碼示例
// 假設(shè) self.camera 是一個已經(jīng)初始化的 KYCamera 實例
// self.uid, self.pwd, _mainChannel, self.isAuthToken, self.authKey 已提前設(shè)置
[self.camera KY_Connect:self.uid
authKey:self.authKey
authType:(self.isAuthToken ? AvAuthTypeAuthKey : AvAuthTypePassword)
password:self.pwd
channel:_mainChannel
isDecode:YES
renderType:OUTPUT_YUV];
KY_Disconnect
功能描述:斷開指定通道的連接,并停止該通道的音視頻功能。
接口定義
- (void)KY_Disconnect:(NSInteger)channel;
參數(shù)說明
| 參數(shù) | 類型 | 說明 |
|---|---|---|
| channel | NSInteger | 要斷開連接的通道號,通常為 0。 |
回調(diào)說明
斷開狀態(tài)通常通過設(shè)置 delegate 并實現(xiàn)
KY_DeviceStatus 回調(diào)方法來獲取。返回碼
該接口無返回值,操作結(jié)果可通過 delegate 回調(diào)判斷。
代碼示例
[self.camera KY_Disconnect:_mainChannel];
KY_DisconnectAll
功能描述:停止并斷開與該設(shè)備的所有通道連接。
接口定義
- (void)KY_DisconnectAll;
參數(shù)說明
| 參數(shù) | 類型 | 說明 |
|---|---|---|
| 無 | - | 該接口無需傳入?yún)?shù) |
回調(diào)說明
斷開狀態(tài)通常通過設(shè)置 delegate 并實現(xiàn)
KY_DeviceStatus 回調(diào)方法來獲取。返回碼
該接口無返回值,操作結(jié)果可通過 delegate 回調(diào)判斷。
代碼示例
[self.camera KY_DisconnectAll];
