2017-06-28 118 views
2

一切正常工作正常(createOffer,createAnswer,iceCandidates,...),但隨後傳入的remoteStream有2個音軌,audioTrack正在工作,videoTrack這與readyState不兼容:「靜音」。WebRTC遠程流視頻readyState:音頻工作時「靜音」

如果我在pageload上做了createOffer,然後用start call再次用同樣的peerConnection做crreateOffer,同樣視頻顯示正確(但是我會在firefox中得到「無法在state-offer-offer中創建offer」 ?

任何想法可能是什麼問題(代碼很太複雜,在這裏展示)

+1

請加入最小代碼樣本,並再次改寫這個問題。真的很難理解你在問什麼或者說什麼。 – karthick

回答

0

你能在雙方的本地視頻
? - >在PC只有一個瀏覽器就可以訪問到相機任何時候鉻或火狐)
- >嘗試調用兩臺不同的機器或鉻鉻合金或火災狐狸到Firefox瀏覽器。

「無法在狀態創建提供具有本地要約」
這意味着你已經創建了一個報價,並試圖不設置遠程答案重新創建。

再次調用createOffer不是個好主意。確保您按照以下方式創建報價(同步)。

  • 收到流gum回調後,再添加peerConnection。
  • 在創建答案之前,在添加流之後創建報價,以便在設置了遠程報價的情況下進行回答。
0

我在準備iOS應用程序中的MediaStream時遇到此問題。事實證明,我沒有通過正確的RTCMediaConstraints

我切換並使用[RTCMediaConstraints defaultConstraints]後問題解決。

例如:

- (RTCVideoTrack *)createLocalVideoTrack { 
    RTCVideoTrack* localVideoTrack = nil; 

    RTCMediaConstraints *mediaConstraints = [RTCMediaConstraints defaultConstraints]; 
    RTCAVFoundationVideoSource *source = 
    [[self peerConnectionFactory] avFoundationVideoSourceWithConstraints:mediaConstraints]; 
    localVideoTrack = 
    [[self peerConnectionFactory] videoTrackWithSource:source 
          trackId:kARDVideoTrackId]; 
    return localVideoTrack; 
}