Я хотел бы создать простую реализацию WebRTC с Simple Peer.Я хочу, чтобы пользователь B мог видеть видео пользователя A.
Мой index.html:
<button id="start">Démarrer la vidéo</button>
<video id="emitter-video" width="100%" height="400px"></video>
<textarea id="offer"></textarea>
<h2>Reception</h2>
<video id="receiver-video" width="100%" height="400px"></video>
<form id="incoming">
<textarea></textarea>
<button type="submit">Save</button>
</form>
<script src="simplePeer.js"></script>
<script src="app.js"></script>
Мой app.js:
let p = null
function bindEvents(p) {
p.on('error', function (err) {
console.log(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.srcObject = stream
video.play()
})
}
document.querySelector('#start').addEventListener('click', function (e) {
navigator.getUserMedia({
video: true,
audio: true
}, function (stream) {
let emitterVideo = document.querySelector('#emitter-video')
let p = new SimplePeer({
initiator: true,
stream: stream,
trickle: false
});
bindEvents(p)
emitterVideo.srcObject = stream
emitterVideo.play()
}, function () {})
});
document.querySelector('#incoming').addEventListener('submit', function (e) {
e.preventDefault();
if (p == null) {
p = new SimplePeer({
initiator: false,
trickle: false
})
bindEvents(p)
}
p.signal(JSON.parse(e.target.querySelector('textarea').value))
})
Нокогда я копирую пользовательский контракт b для пользователя a, у меня появляется эта ошибка:
Не удалось установить удаленный ответ. sdp: Вызывается в неправильном состоянии: kStable
Я получаю этоошибка пользователя A
Я хорошо создал свои события.Я могу получить контракт от каждого пользователя, но видео не отображается для пользователя B.