<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ## RTCPeerConnection 基本函數 ``` pc = new RTCPeerConnection([configuration]); ``` ### configuration參數解析 **bundlePolicy**: ``` Balanced: 音頻與視頻軌使用各自的傳輸通道 max-compat:每個軌使用自己的傳輸通道 max-bundle:都綁定到同一個傳輸通道 ``` **ccertificates**:授權可以使用連接的一組證書 **iceCandidatePoolSize**:16位的整數值,用于指定預取的ICE候選者的個數。如果該值發生變化,他會觸發重新收集候選者 **iceTransportPolicy**: ``` 指定ICE傳輸策略: * relay:只使用中繼候選者 * all:可以使用任何類型的候選者 ``` **iceServers**: 其由RTCIceServer組成。每個RTCIceServer都是一個ICE代理的服務 | 屬性 | 含義 | | --- | --- | | credential | 憑據,只有TURN服務使用 | | credentialType| 憑據類型可以password或oauth | |urls | 用于連接服務中的url數組 | | username | 用戶名,只有TURN服務使用 | **rtcpMuxPolicy**: 該選項在收集ICE候選者時使用。 | 選項 |說明 | | --- | --- | | nagotiate | 收集RTCP與RTP復用的ICE候選者,如果RTCP能復用就與RTP復用,如果不能復用,就就將他們單獨使用 | | require | 只能收集RTCP與RTP復用的ICE候選者,如果RTCP不能復用,則失敗 | ## 媒體協商 ### addIceCandidate 基本格式 ``` aPromise = pc.addIceCandidate(candidate); ``` candidate | 屬性 | 說明 | | --- | --- | | candidate | 候選者描述信息 | | sdpMid | 與候選者相關的媒體流的識別標簽 | | sdpMLineIndex | 在SDP中m= 的索引值 | | usernameFragment | 包括了遠端的唯一標識 | ### 媒體協商的過程 ![UTOOLS1591711647810.png](http://yanxuan.nosdn.127.net/2c219e38fa95e1473ae686699db63958.png) A 創建了一個offer包含sdp信息 setLocalDescription 拿到所有候選者。 接收Answer setRemoteDescription B 接收offer,包含sdp信息 setRemoteDescription 拿到所有候選者。 創建Answer setLocalDescription ### 協商狀態變化 ### 媒體協商方法 * createOffer ``` aPromise = myPeerConnection.createOffer([option]); ``` * createAnswer ``` aPromise = myPeerConnection.createAnswer([option]); ``` * setLocalDescription ``` aPromise = myPeerConnection.setLocalDescription(sessionDescription); ``` * setRemoetDescription ``` aPromise = myPeerConnection.setRemoetDescription(sessionDescription); ``` ### Track方法 addTrack,基本格式: ``` rtpSender = myPc.addTrack(track, stream...); ``` Parameters | 參數 | 說明 | | --- | --- | | track | 添加到RTCPeerCOnnection中的媒體軌 | |stream| 指定track所在的stream| removeTrack,基本格式: ``` myPc.remoteTrack(trpSender); ``` 重要事件: * onnegotiationneeded:協商事件 * onicecandidate:候選者事件 ## Stream/Track ## 傳輸相關方法 ## 統計相關方法
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看