国产粉嫩无码不卡在线观看,酒店大战丝袜高跟鞋人妻,特级精品毛片免费观看,欧美亚洲日本国产综合在线

uniapp如何實(shí)現(xiàn)直播功能(uniapp做直播應(yīng)用實(shí)戰(zhàn))

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

1前提條件

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

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

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

2使用步驟

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

uniapp如何實(shí)現(xiàn)直播功能(uniapp做直播應(yīng)用實(shí)戰(zhàn))

整個(gè)推拉流過(guò)程的API 調(diào)用時(shí)序如下圖:

uniapp如何實(shí)現(xiàn)直播功能(uniapp做直播應(yīng)用實(shí)戰(zhàn))

2.1創(chuàng)建引擎

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

2. 創(chuàng)建引擎

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

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

2.2登錄房間

1.登錄

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

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

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

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

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

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

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

2.3推流

1.開(kāi)始推流

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

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

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

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

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

2.4拉流

1. 開(kāi)始拉流

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

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

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

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

playerStateUpdate:拉流狀態(tài)更新回調(diào),調(diào)用拉流接口成功后,當(dāng)拉流狀態(tài)發(fā)生變更,如出現(xiàn)網(wǎng)絡(luò)中斷導(dǎo)致推流異常等情況,SDK在重試?yán)鞯耐瑫r(shí),會(huì)通過(guò)該回調(diào)通知。

2.5 體驗(yàn)實(shí)時(shí)音視頻功能

在真機(jī)中運(yùn)行項(xiàng)目,運(yùn)行成功后,可以聽(tīng)到本端音頻,看到本端視頻畫(huà)面。

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

2.6 停止推拉流

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

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

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

2.停止拉流

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

3.退出房間

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

2.7銷毀引擎

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

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

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。