File: test.html

package info (click to toggle)
golang-github-pion-webrtc.v3 3.1.56-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,392 kB
  • sloc: javascript: 595; sh: 28; makefile: 5
file content (41 lines) | stat: -rw-r--r-- 1,061 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<div id="media"></div>

<script>
const pc = new RTCPeerConnection()
pc.ontrack = event => {
  if (event.track.kind === 'audio') {
    var el = document.createElement(event.track.kind)
    el.srcObject = new MediaStream(event.streams[0].getAudioTracks())
    document.getElementById('media').appendChild(el)
  }
}
pc.oniceconnectionstatechange = event => {
  console.log("connection", pc.iceConnectionState)
  if (pc.iceConnectionState == 'connected') {
    setInterval(statsReport, 1000)
  }
}
pc.onicecandidate = event => {
  if (event.candidate === null) {
    console.log("sdp", JSON.stringify(pc.localDescription))
  }
}
pc.addTransceiver('audio', {'direction': 'recvonly'})

const dc = pc.createDataChannel("upper")
dc.onmessage = event => {
  dc.send(event.data.toUpperCase())
}

pc.createOffer().then(d => pc.setLocalDescription(d)).catch(console.log)

const statsReport = async () => {
  const stats = await pc.getStats()
  var data = []
  await stats.forEach(item => {
    data.push(item)
  })
  console.log("stats", JSON.stringify(data))
}

</script>