Только один кадр отображал поток WebRTC

Я использую PeerJS и их облачные серверы для создания приложения WebRTC. Вот мой код:

navigator.getMedia = ( navigator.getUserMedia ||
                       navigator.webkitGetUserMedia ||
                       navigator.mozGetUserMedia ||
                       navigator.msGetUserMedia);

window.URL = window.URL || window.webkitURL;

var callSettings = {
  video: {
    mandatory: {
      maxWidth: 400,
      maxHeight: 300
    }
  },
  audio: true
};

$(document).ready(function ()
{
    var videoel = $("#teacher-stream")[0];

    $(document).on('click', ".start-call", function () //A button initiates call
    {
        var peerID = $(this).data('id'); //Button contains ID of peer
        navigator.getMedia(callSettings, function (stream)
        {
            var call = peer.call(peerID, stream);
            call.on('stream', function(remoteStream)
            {
                console.log('stream!');
                videoel.src = window.URL.createObjectURL(remoteStream);
                            //On stream copy data to video el

            });
        });
    });

    peer.on('call', function(call)
    {
        console.log('got call');
        navigator.getMedia(callSettings, function(stream)
        {
            call.answer(stream);
            call.on('stream', function(remoteStream)
            {
                videoel.src = window.URL.createObjectURL(remoteStream);

            });
        });
    });

});

Поток инициируется, и обоим пользователям предлагается предоставить доступ к веб-камере. Однако после этого отображается только самый первый кадр. Хотя значок пульсирующей записи на вкладке Chrome все еще отображается, дальнейшие кадры не отображаются. Поток!" log выше добавляется только один раз.

Я попытался разместить сервер локально, чтобы проверить, была ли проблема в этом, и это не так. Что мне не хватает?


person Jack Guy    schedule 29.12.2013    source источник


Ответы (1)


Мне нужно было добавить атрибут "autoplay = true" к моему элементу видео.

person Jack Guy    schedule 29.12.2013