2 pièce(s) jointe(s)
Utilisation API webRTC pour un chat
Bonjour,
Je développe une application de chat vidéo en webRTC.
J'ai téléchargé un code mais il ne marche pas, j'ai dû modifier quelques lignes pour retirer des choses que les navigateurs ne prennent plus en charge. Voilà ce que j'ai maintenant:
Code:
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 42 43 44 45 46 47 48 49 50 51 52 53 54
| navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia
function bindEvents(p) {
p.on('error', function (err) {
console.log('error', err)
})
p.on('signal', function (data) {
document.querySelector('#offer').textContent = JSON.stringify(data)
})
p.on('stream', function (stream) {
let video = document.querySelector('#receiver-video')
video.volume = 0
video.srcObject = stream// video.src = window.URL.createObjectURL(stream)
video.play()
})
document.querySelector('#incoming').addEventListener('submit', function (e) {
e.preventDefault()
p.signal(JSON.parse(e.target.querySelector('textarea').value))
})
}
function startPeer(initiator) {
navigator.getUserMedia({
video: true,
audio: true
}, function (stream) {
let p = new SimplePeer({
initiator: initiator,
stream: stream,
trickle: false
})
bindEvents(p)
let emitterVideo = document.querySelector('#emitter-video')
emitterVideo.volume = 0
emitterVideo.srcObject = stream//emitterVideo.src = window.URL.createObjectURL(stream)
emitterVideo.play()
}, function () {
})
}
document.querySelector('#start').addEventListener('click', function (e) {
startPeer(true)
})
document.querySelector('#receive').addEventListener('click', function (e) {
startPeer(false)
}) |
Les lignes avec des commentaires vous montrent les changements que j'ai apporté et comment c'était avant (en commentaire). La console chrome me sort l'erreur suivante: Uncaught (in promise) DOMException: The play() request was interrupted by a new load request. https://goo.gl/LdLk22 app.js:18
Pourriez-vous m'aider ? Je vous met les pièces jointes, il y'a juste simplePeer.js qui est trop gros.
Bonne journée