微信小程序開發須要基於微信提供的開發者工具與 SDK。若是開發者對小程序開發流程不熟悉,建議先系統學習:微信小程序開發官方文檔。javascript
因爲微信官方文檔比較詳細,本文對小程序開發流程中的框架說明、API 調用、組件使用等,再也不贅述,而是重點介紹如何使用 ZEGO SDK 開發出支持音視頻直播的微信小程序。css
SDK 集成指引詳見:微信小程序 SDK集成指引html
SDK 提供的 API 說明詳見:微信小程序 SDK API 說明java
小程序開發主要用到 web 開發知識( js、html、css )。web
一、組件說明小程序
微信小程序中的推拉流功能,須要用到微信提供的 live-player live-pusher 標籤。其餘的常規組件同原生 App 開發相似,此處不一一介紹。微信小程序
1.1 live-player微信
live-player 是微信提供的支持實時音視頻播放的組件,官方介紹詳見組件介紹。websocket
開發者建立組件成功後,須要在 js 文件中,調用 API 操做對應的組件來實現需求,微信官方 API 詳見 API 說明。框架
即構音視頻雲小程序中,建立 live-player 的演示源碼以下:
ZegoLive/pages/liveroom/room/room.wxml <live-player autoplay wx:if="{{item.playUrl}}" id="{{item.streamID}}" mode="RTC" object-fit="fillCrop" min-cache="0.1" max-cache="0.3" src="{{item.playUrl}}" debug="{{pushConfig.showLog}}" bindstatechange="onPlayStateChange" bindnetstatus="onPlayNetStateChange" binderror="error"> <cover-view class='character' style='padding: 0 5px;'>{{item.streamID}}</cover-view> </live-player>
請注意:
live 模式主要用於直播類場景,好比賽事直播、在線教育、遠程培訓等等。該模式下,小程序內部的模塊會優先保證觀看體驗的流暢,經過調整 min-cache 和 max-cache 屬性,您能夠調節觀衆(播放)端所感覺到的時間延遲的大小,文檔下面會詳細介紹這兩個參數。
RTC 則主要用於雙向視頻通話或多人視頻通話場景,好比金融開會、在線客服、車險定損、培訓會議 等等。在此模式下,對 min-cache 和 max-cache 的設置不會起做用,由於小程序內部會自動將延遲控制在一個很低的水平(500ms 左右)。
1.2 live-pusher
live-pusher 是微信提供的支持實時音視頻錄製的組件,官方介紹詳見:組件介紹
開發者建立組件成功後,須要在 js 文件中,調用 API 操做對應的組件來實現需求,官方 API 詳見:API 說明