[英]How to use .toJSON() on an ice candidate in webrtc is javascript?
在 Javascript 中,我正在嘗試通過 websockets (json) 發送候選冰。
我從這個示例開始。
在我使用 Candidate.toJSON() 和/或 JSON.stringify() 之前,候選人看起來像這樣:
address: "192.168.1.2"
candidate: "candidate:149645548 1 udp 1685987071 192.168.1.2 50697 typ srflx raddr 192.168.8.162 rport 50697 generation 0 ufrag o8rk network-id 1 network-cost 10"
component: "rtp"
foundation: "149645548"
port: 50697
priority: 1685987071
protocol: "udp"
relatedAddress: "192.168.8.162"
relatedPort: 50697
sdpMLineIndex: 1
sdpMid: "1"
tcpType: ""
type: "srflx"
usernameFragment: "o8rk"
__proto__: RTCIceCandidate
在我使用這里推薦的.toJSON 之后,它看起來像這樣:
candidate: "candidate:149645548 1 udp 1685987071 192.168.1.2 50697 typ srflx raddr 192.168.8.162 rport 50697 generation 0 ufrag o8rk network-id 1 network-cost 10"
sdpMLineIndex: 1
sdpMid: "1"
__proto__: Object
如您所見,缺少許多屬性。 最重要的是,當我嘗試像同一個鏈接建議的那樣運行“toString()”時,該方法不存在。 當我嘗試 JSON.parse 時,我得到一個“在 position 1 的 JSON 中的意外令牌 o”
我認為問題在於它有原型還是因為它的類型? 但我似乎不能再進一步了。
任何對 jsonify 和發送它的幫助將不勝感激。
這是故意的,請參閱規范。 附加屬性已編碼在候選字符串中,因此如果您在遠程端執行此操作:
new RTCIceCandidate({candidate: "candidate:149645548 1 udp 1685987071 192.168.1.2 50697 typ srflx raddr 192.168.8.162 rport 50697 generation 0 ufrag o8rk network-id 1 network-cost 10", sdpMid: 0})
屬性將被恢復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.