天天看點

【音視訊】iOS CallLib 開發指南

音視訊服務開通,請參考音視訊開通方式說明。

由于底層引擎技術不同,<code>2.6.0</code> 之後的音視訊 SDK 與 <code>2.6.0</code> 之前的 SDK 中的實時音視訊不能互通。

音視訊 SDK 為商用收費功能,之前的 SDK 中的實時音視訊為免費測試功能,如果您還想使用之前的實時音視訊,可以使用 <code>2.5.2</code> 版本。

有兩種方式可以将 SDK 導入您的項目中:

通過 CocoaPods 管理依賴

手動導入 SDK 并管理依賴

1、 下載下傳 SDK 您可以到融雲官方網站下載下傳SDK。

2、 融雲 <code>IM SDK</code> 是 <code>Call SDK</code> 的基礎。使用 <code>CallLib</code>,必須同時內建使用融雲 <code>IM SDK</code>。 手動導入 <code>IM SDK</code>,可以參考 IM SDK - 下載下傳與導入 SDK文檔。

SDK 檔案說明

檔案

說明

注意事項

<code>RongCallLib.framework</code>

<code>CallLib</code> 的 <code>framework</code> 庫

必須導入

<code>AgoraRtcEngineKit.framework</code>

通話引擎

必須導入,否則通話功能将無法使用

3、 手動內建了融雲 SDK 之後,您需要在您的工程中導入

RongCallLib.framewrok、AgoraRtcEngineKit.framework 以及系統庫 CoreMotion.framework、VideoToolbox.framework、libresolv.tbd。

4、 在 <code>Xcode</code> 項目 <code>Build Settings -&gt; Other Linker Flags</code> 中,增加"-ObjC"。

使用融雲通話之前,必須先初始化 SDK 和連接配接伺服器,詳細内容可以參考 IMLib 快速內建文檔。

您可以調用 <code>RCCallClient</code> 以下接口,發起通話。

其中,您可以通過傳回的通話實體,操控通話和擷取通話相關資訊,通話狀态發生變化時會通過您傳入的 delegate 進行回調。

您需要設定 <code>RCCallClient</code> 的全局通話監聽,來監聽通話呼入。

目前,SDK 支援在單聊發起單人通話,在讨論組、群聊中發起多人通話。

您可以通過 <code>RCCallClient</code> 類的以下接口查詢目前會話的通話能力。

您可以通過 RCCallClient 的以下接口,查詢目前的通話實體。

通話實體 <code>RCCallSession</code> 包含目前通話的所有資訊,您可以通過其中的接口,操控目前通話和擷取相關資訊,在發起通話和接收到呼入的通話時會擷取到相應的通話實體。

如:接聽目前來電。

挂斷目前通話。

邀請使用者加入目前通話(僅限邀請讨論組和群組中的成員加入)。

設定視訊通話中某個使用者的 View 。

切換自己使用的媒體類型。

一個通話中,允許每個使用者的媒體類型不一緻,也就是說可以有些人以視訊接入,有些人以音頻接入。

設定靜音。

設定揚聲器狀态。

開啟或關閉攝像頭。

切換前後攝像頭。

您可以通過通話實體 <code>RCCallSession</code> 中擷取目前通話的相關資訊。

目前的通話狀态。

通話的發起人和邀請者。

通話的開始時間和接通時間。

通話挂斷的原因。

如果您實作并設定了 <code>RCCallSessionDelegate</code>,當通話狀态發生變化的時候,會回調相關接口。

您可以在 <code>startCall</code> 的時候傳入或者手動設定通話狀态監聽。

當通話狀态發生變化的時候,如接通、結束、對方振鈴、有人加入通話、有人挂斷、發生警告等都會進行回調。

詳細請參考 VoIP 推送設定文檔。

<code>CallLib</code> 通話不限制最大人數。如果需要限制的話,您可以在調用 <code>startCall</code> 和 <code>inviteRemoteUsers</code> 的時候加判斷人數的邏輯。

繼續閱讀