看看男人日女人,亚洲欧美日韩日本国产三,国产精品欧美日韩区二区,妓女影库妓女网在线视频

uniapp如何實現(xiàn)直播功能(uniapp開發(fā)直播平臺)

Uni-app是一個使用Vue.js開發(fā)所有前端應(yīng)用的框架,開發(fā)者編寫一套代碼,可發(fā)布到iOS、Android、Web(響應(yīng)式)、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘/淘寶)、快應(yīng)用等多個平臺。其中,uni-app如何實現(xiàn)直播功能?下面我們一起來到ZEGO即構(gòu)科技的官網(wǎng)看看相關(guān)實現(xiàn)流程。

1前提條件

在實現(xiàn)基本的實時音視頻之前,請確保:

1.已在項目中集成ZEGO Express SDK,詳情請參考快速開始-集成和快速開始-實現(xiàn)流程。

2.已在ZEGO控制臺創(chuàng)建項目,申請有效的AppID和AppSign,詳情請參考控制臺 – 項目管理。

2使用步驟

以用戶A拉取用戶B的流為例,流程如下圖:

uniapp如何實現(xiàn)直播功能(uniapp開發(fā)直播平臺)

整個推拉流過程的API 調(diào)用時序如下圖:

uniapp如何實現(xiàn)直播功能(uniapp開發(fā)直播平臺)

2.1創(chuàng)建引擎

1.(可選)創(chuàng)建界面

2. 創(chuàng)建引擎

l 調(diào)用 createEngine 接口,將申請到的AppID和AppSign分別傳入?yún)?shù) “appID”和“appSign”,創(chuàng)建引擎。

l 如果需要注冊回調(diào)方法,開發(fā)者可根據(jù)實際需要,實現(xiàn)ZegoEventListener中的某些方法,創(chuàng)建引擎后可通過調(diào)用on接口設(shè)置回調(diào)。

2.2登錄房間

1.登錄

傳入用戶ID參數(shù)“userID” 創(chuàng)建ZegoUser用戶對象后,調(diào)用loginRoom接口,傳入房間ID參數(shù)“roomID”和用戶參數(shù)“user”,登錄房間。

2.監(jiān)聽登錄房間后的事件回調(diào)

可根據(jù)實際應(yīng)用需要,在登錄房間后監(jiān)聽想要關(guān)注的事件通知,比如房間狀態(tài)更新、用戶狀態(tài)更新、流狀態(tài)更新等。

l roomStateUpdate:房間狀態(tài)更新回調(diào),登錄房間后,當(dāng)房間連接狀態(tài)發(fā)生變更(如出現(xiàn)房間斷開,登錄認證失敗等情況),SDK 會通過該回調(diào)通知。

l roomUserUpdate:用戶狀態(tài)更新回調(diào),登錄房間后,當(dāng)房間內(nèi)有用戶新增或刪除時,SDK 會通過該回調(diào)通知。

只有調(diào)用 loginRoom 接口登錄房間時傳入 ZegoRoomConfig 配置,且 “isUserStatusNotify” 參數(shù)取值為 “true” 時,用戶才能收到 roomUserUpdate 回調(diào)。

l roomStreamUpdate:流狀態(tài)更新回調(diào),登錄房間后,當(dāng)房間內(nèi)有用戶新推送或刪除音視頻流時,SDK 會通過該回調(diào)通知。

2.3推流

1.開始推流

調(diào)用startPublishingStream 接口,傳入流ID參數(shù)“streamID”,向遠端用戶發(fā)送本端的音視頻流。

2.(可選)啟動本地預(yù)覽

3. 監(jiān)聽推流后的事件回調(diào)

根據(jù)實際應(yīng)用需要,在推流后監(jiān)聽想要關(guān)注的事件通知,比如推流狀態(tài)更新等。

publisherStateUpdate:推流狀態(tài)更新回調(diào),調(diào)用推流接口成功后,當(dāng)推流狀態(tài)發(fā)生變更,如出現(xiàn)網(wǎng)絡(luò)中斷導(dǎo)致推流異常等情況,SDK 在重試推流的同時,會通過該回調(diào)通知。

2.4拉流

1. 開始拉流

使用<zego-remote-view> 標(biāo)簽設(shè)置遠端視頻流視圖,調(diào)用 startPlayingStream 接口,根據(jù)傳入的流ID參數(shù)“streamID”,拉取遠端推送的音視頻流。

遠端用戶推送的“streamID”可以從 roomStreamUpdate 回調(diào)中獲取。

2. 監(jiān)聽拉流后的事件回調(diào)

根據(jù)實際應(yīng)用需要,在拉流后監(jiān)聽想要關(guān)注的事件通知,比如拉流狀態(tài)更新等。

playerStateUpdate:拉流狀態(tài)更新回調(diào),調(diào)用拉流接口成功后,當(dāng)拉流狀態(tài)發(fā)生變更,如出現(xiàn)網(wǎng)絡(luò)中斷導(dǎo)致推流異常等情況,SDK在重試拉流的同時,會通過該回調(diào)通知。

2.5 體驗實時音視頻功能

在真機中運行項目,運行成功后,可以聽到本端音頻,看到本端視頻畫面。

通過Web端調(diào)試示例(只支持在測試環(huán)境下使用),輸入相同的App ID和roomID,加入同一房間與真機設(shè)備互通。當(dāng)成功開始直播時,可以同時聽到本端和遠端音頻,看到本端和遠端視頻畫面。

2.6 停止推拉流

1.停止推流/預(yù)覽

調(diào)用stopPublishingStream 接口停止發(fā)送本地的音視頻流,結(jié)束直播。

如果啟用了本地預(yù)覽,開發(fā)者可以在停止推流后根據(jù)業(yè)務(wù)需要調(diào)用 stopPreview 接口停止預(yù)覽。

2.停止拉流

調(diào)用 stopPlayingStream 接口,停止拉取遠端的音視頻流。

3.退出房間

調(diào)用logoutRoom接口退出房間,本端會收到roomStateUpdate回調(diào)通知調(diào)用結(jié)果,并停止其所有推拉流以及本地預(yù)覽。

2.7銷毀引擎

調(diào)用destroyEngine接口銷毀引擎,用于釋放SDK使用的資源。

以上便是uni-app實現(xiàn)直播功能的具體流程了,如有不清楚的地方,可登錄ZEGO即構(gòu)科技官方網(wǎng)站進行了解。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢
分享本頁
返回頂部
油尖旺区| 瓦房店市| 治多县| 洛川县| 惠州市| 巴彦县| 平罗县| 淄博市| 和静县| 嘉定区| 疏勒县| 莱芜市| 施甸县| 怀柔区| 营山县| 尼木县| 涿鹿县| 南靖县| 吉安市| 四平市| 巴彦淖尔市| 中江县| 登封市| 德惠市| 肇东市| 乳源| 商丘市| 扎鲁特旗| 凤冈县| 巴林左旗| 浠水县| 延安市| 高平市| 靖江市| 施甸县| 鄂尔多斯市| 绥宁县| 华宁县| 墨玉县| 特克斯县| 龙海市|