uni-app技術分享| uni-app常見問題(一)

anyRTC發表於2022-02-24

uniapp-解決方案

1. 執行無法使用外掛

  • 檢視控制檯提示是否存在以下提示, 請根據控制檯提示操作

    [JS Framework] 當前執行的基座不包含原生外掛[AR-RtcModule],請在manifest中配置該外掛,重新制作包括該原生外掛的自定義執行基座
  • 使用的是 標準執行基座

    • 需要製作自定義執行基座

    • 執行時選擇自定義基座執行(HBuilder 預設標準執行基座)

  • 外掛僅支援 APP;

2.場景使用

3.使用者 uid 與自身業務結合

  • 使用者 uid:

    • 必須為字串

    • 標識使用者,獨一無二

    • 不能設定為中文

    • 長度在 64 位元組以內的字串,範圍(26 個小寫字母 a-z;26 個大寫字母 A-Z;10 個數字 0-9;空格;"!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "*", "{", "}", "|", "~", ",";等)

    • 可使用自身業務 id,但必須符合使用者 uid

4.頻道房間 channelId 與自身業務結合

 與 uid 需求一致;

5.token 相關

 除錯專案時建議暫不開啟  appid 開啟 token 校驗時,加入頻道時必須要填入

6.加入頻道,設定 uid 或 channelId

 加入房間前進行設定

  
rtcModule.
joinChannel({

  "token": 開啟 token 校驗時填入(必須字串) || '',
  "channelId": 自行設定(必須字串) || '',
  "uid": 自行設定(必須字串) || '',
 }, ( res) => {
  console. log( 'RTC joinChannel 方法呼叫', ( res. code === 0 ? '成功' : '失敗:') + res);
 });

7.功能第一次有效,在次操作發生錯誤

  • 重複建立例項(多在除錯階段出現),多次呼叫 rtmModule.createInstance

    • 每次都要重啟應用

    • 功能結束後要銷燬對應例項

8.ios、Android 意外閃退

  檢視方法引數是否符合,如:     * rtcModule.joinChannel 的引數 uid 設定的不是字串     ...

9.無畫面、無聲音

  • 檢視手機許可權是否開啟

  • 音影片頁面必須是 nvue 頁面

  • 本地影片渲染:

    <AR-CanvasView ref="location" style="flex: 1;" />
    • 必須要獲取到影片容器

    • 呼叫對應方法

    this.$refs.location.setupLocalVideo({
    
      "renderMode": 1,
      "channelId": 同一個房間,
      "uid": 使用者 uid,
      "mirrorMode": 0
     }, (res) => {
      console.log('渲染影片', res);
     });
     // 本地預覽
    this.$refs.location.startPreview((res) => {
      console.log('本地預覽', res);
     })
  • 遠端影片渲染: 1.透過遠端影片首幀回撥 onFirstRemoteVideoDecoded 2.然後顯示遠端影片容器

       <AR-CanvasView ref="remote" style="flex: 1;" />

    3.對應方法(必須要獲取遠端影片容器)

      this.$refs.remote.setupRemoteVideo({
    
     "renderMode": 1,
     "channelId": 同一個房間,
     "uid":遠端 uid,
     "mirrorMode": 0
    }, (res) => {
     console.log('渲染遠端影片', res);
    })

10.uniapp 在通訊過程中獲取對方的網路狀態

 外掛僅能透過 anyRTC實時訊息SDK外掛 獲取對應使用者狀態: 線上/不線上  如需獲取更詳細的網路狀態:   uni.onNetworkStatusChange 獲取網路    透過 實時訊息SDK外掛 ,向對方傳送資訊    對方收到後,在將網路資訊返回給查詢者

11.多人影片展示

 每一位使用者都有自己的影片容器  渲染影片時必須獲取到對應容器

12.是否可轉換多端

  • 使用外掛僅支援App

  • 如需轉成小程式,可使用 Web SDK 進行轉換(建議使用小程式對應的sdk)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70013909/viewspace-2857589/,如需轉載,請註明出處,否則將追究法律責任。

相關文章