微信小程序開發需要基於微信提供的開發者工具與 SDK。如果開發者對小程序開發流程不熟悉,建議先系統學習:微信小程序開發官方文檔。
由於微信官方文檔比較詳細,本文對小程序開發流程中的框架說明、API 調用、組件使用等,不再贅述,而是重點介紹如何使用 ZEGO SDK 開發出支持音視頻直播的微信小程序。
SDK 集成指引詳見:微信小程序 SDK集成指引
SDK 提供的 API 說明詳見:微信小程序 SDK API 說明
小程序開發主要用到 web 開發知識( js、html、css )。
1、組件說明
微信小程序中的推拉流功能,需要用到微信提供的 live-player live-pusher 標簽。其他的常規組件同原生 App 開發類似,此處不一一介紹。
1.1 live-player
live-player 是微信提供的支持實時音視頻播放的組件,官方介紹詳見組件介紹。
開發者創建組件成功后,需要在 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 說明
微信小程序websocket實現即時聊天
