在開始集成 ZEGO Express SDK 前,請確保開發環境滿足以下要求:
2.1 創建項目
進入即構官網, 在 ZEGO控制臺 創建項目,並申請有效的 AppID,這壹步很關鍵,appid為應用的唯壹標識,如身份證號,是應用的身份證明,用於明確妳的項目及組織身份。zego提供的服務也是基於APP ID;
App ID的獲取方式很簡單,只需3~5分鐘,在即構官網-我的項目-創建即可。創建的項目信息可用於SDK的集成和配置;
2.2 Token 鑒權
開始集成前,可參考如下步驟設置妳的項目;
如已有項目,本步驟可忽略。
如需新建項目,可按照以下步驟創建妳的新項目:
用戶通過 ZEGO Express SDK 進行視頻通話的基本流程為:
用戶 A、B 加入房間,用戶 B 預覽並將音視頻流推送到 ZEGO 雲服務(推流),用戶 A 收到用戶 B 推送音視頻流的通知之後,在通知中播放用戶 B 的音視頻流(拉流)。
整個音視頻通話推拉流過程的 API 調用時序如下圖:
1. 創建界面
根據場景需要,為妳的項目創建視頻通話的用戶界面。我們推薦妳在項目中添加如下元素:
2.引入頭文件,準備基礎工作
3. 創建引擎
調用 createEngineWithProfile 接口,將申請到的 AppID 傳入參數 “appID”,創建引擎單例對象。
註冊回調,可將實現了 ZegoEventHandler 的對象(例如 “self”)傳入參數 “eventHandler”。
調用 loginRoom 接口登錄房間。roomID 和 user 的參數由您本地生成,但是需要滿足以下條件:
調用登錄房間接口之後,您可通過監聽 onRoomStateUpdate 回調實時監控自己在本房間內的連接狀態。
1. 預覽自己的畫面
如果希望看到本端的畫面,可調用 startPreview 接口設置預覽視圖,並啟動本地預覽。
2. 將自己的音視頻流推送到 ZEGO 音視頻雲
在用戶調用 loginRoom 接口後,可以直接調用 startPublishingStream 接口,傳入 “streamID”,將自己的音視頻流推送到 ZEGO 音視頻雲。您可通過監聽 onPublisherStateUpdate 回調知曉推流是否成功。
“streamID” 由您本地生成,但是需要保證:
同壹個 AppID 下,“streamID” 全局唯壹。如果同壹個 AppID 下,不同用戶各推了壹條 “streamID” 相同的流,後推流的用戶推流失敗。
進行視頻通話時,我們需要拉取到其他用戶的音視頻。
在同壹房間內的其他用戶將音視頻流推送到 ZEGO 音視頻雲時,我們會在 onRoomStreamUpdate 回調中收到音視頻流新增的通知,並可以通過 ZegoStream 獲取到某條流的 “streamID”。
我們可以在該回調中,調用 startPlayingStream ,傳入 “streamID” 拉取拉取播放該用戶的音視頻。您可通過監聽 onPlayerStateUpdate 回調知曉是否成功拉取音視頻。
音視頻的基礎功能已完成,接下來我們運行下效果,1步快速檢驗成果。
step1 , 與好友壹起安裝編譯好的App,在手機上可以看到對方並進行通話互動。
完成以上,說明妳成功啦!
Enjoy與好友的歡樂時光!
獲取 本文的Demo、開發文檔、技術支持。
獲取 SDK的商務活動、熱門產品。
註冊即構ZEGO開發者帳號, 快速開始。