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