我一直在我的應用程序中使用SimpleWebRTC一段時間。這是非常簡單的設置和適用於簡單的應用程序。但是,我需要能夠禁用/啓用視頻,而不會影響我的應用中的音頻,而這正是SimpleWebRTC不足的地方。搜索一些其他StackOverflow問題顯示,這似乎被稱爲'重新談判'。WebRTC邏輯流重新協商(啓用/禁用視頻)
顯然直到最近(去年或兩年?)瀏覽器沒有公開MediaStreamTrack
s(https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack),這使得重新協商變得不可能。現在這顯然是可能的,但我沒有看到任何包裝庫做這件事。實際上,大多數流行的WebRTC庫似乎都不再被維護。
有沒有人與流重新協商工作,並指出我在正確的方向,要麼實現它的圖書館,polyfill,或一些關於如何通過當前的WebRTC標準實現這一點的指導?我不介意擺脫一個圖書館,以支持準系統WebRTC,我只是不確定什麼是始終如一地結束/啓動連接的正確方式,因爲實現在瀏覽器之間似乎仍然很挑剔。
可能重複的[如何在WebRTC MediaStream中添加跟蹤](http://stackoverflow.com/questions/35504214/how-to-addtrack-in-mediastream-in-webrtc) – jib
此外,你有沒有嘗試過只是禁用視頻?這會導致視頻數據包停止發送,至少在Firefox中:https://jsfiddle.net/ec9ossmu/(小提琴需要Firefox,因爲Chrome目前還不支持該規範的統計數據)。 – jib
@jib感謝,就小提琴而言,它與Chrome在Chrome中的解決方案具有相同的效果,視頻有效暫停,但相機保持打開狀態,使用戶產生懷疑。至於你的第一個鏈接,你是對的,這在技術上是重複的,對不起我錯過了。 Chrome的狀態已經改變了,它現在部分支持軌道,特別是'addTrack'和'removeTrack',而不是'replaceTrack',正如Phillip指出的那樣,我需要它。我可以將其標記爲重複的,但由於對WebRTC的支持不斷變化,我需要看看答案是否仍然有效,以及現在是否有更清晰的方法。 –