2016-05-18 20 views
0

1997年には、1ページはIEで見栄えが良くなりましたが、Netscapeでは同じページが壊れていました。私は2016年にWebRTCで同じことをやっているような気がします。私はろう者のためのソーシャルメディアを作りました。今すぐチャットしてメッセージを投稿できます。私はすべての郵便番号とすべての都市/州が「部屋」を持つビデオ会議を追加したいと思います。部屋の1つ(郵便番号)へのパブリックリンクがあります。WebRTCビデオチャットはFFでは動作しますが、Chromeでは動作しません

https://ikasl.azurewebsites.net/m/vface.aspx?area=94519

だから我々はFFで完璧に動作一緒に何かを置きます。しかし、私のChromeではうまくいきません。私が得るのはブラックボックスです。ブラウザログ(コンソール)はクリアです。エラーはありません。 FFでのみ動作するようにするには誰もこのコードで間違っているのを見ますか?おかげ

  var openVideoChat = function() { 
      if (chatIsOpened) { return false; }; 
      var connection = new RTCMultiConnection(); 
      connection.socketURL = herokuURL; 
      connection.socketMessageEvent = 'video-conference-demo'; 
      connection.session = { audio: true, video: true }; 
      connection.sdpConstraints.mandatory = { OfferToReceiveAudio: true, OfferToReceiveVideo: true }; 
      connection.videosContainer = document.getElementById('videos-container'); 
      connection.onstream = function(event) { 
       var width = parseInt(connection.videosContainer.clientWidth/2) - 20; 
       var mediaElement = getMediaElement(event.mediaElement, { 
        title: event.userid, 
        buttons: [ 
         'full-screen', 
         'mute-audio', 
         'mute-video', 
         'stop', 
         'stop-others' 
        ], 
        width: width, 
        showOnMouseEnter: true 
       }); 
       connection.videosContainer.appendChild(mediaElement); 

       setTimeout(function() { mediaElement.media.play(); }, 5000); 
       mediaElement.id = event.streamid; 
      }; 
      connection.onstreamended = function(event) { 
       var mediaElement = document.getElementById(event.streamid); 
       if(mediaElement) { mediaElement.parentNode.removeChild(mediaElement); } 
      }; 
      connection.openOrJoin(roomid); 
      chatIsOpened = true; 

      var bitrates = { 
       audio: connection.bandwidth.audio, 
       screen: connection.bandwidth.screen, 
       video: connection.bandwidth.video, 
      }; 

      var bitrateIndicatorEl = document.getElementById('bitrateIndicator'); 
      bitrateIndicatorEl.innerHTML = ('Bitrates: [audio: <b>' + bitrates.audio 
       + ' kbps</b>] [your: <b>' + bitrates.screen 
       + ' kbps</b>] [others: <b>' + bitrates.video + ' kbps</b>]'); 
     }; 

     var modal = new tingle.modal({ 
      footer: true, 
      stickyFooter: false, 
      onOpen: function() { }, 
      onClose: function() { } 
     }); 
     modal.setContent('<div id="videos-container"</div><div id="bitrateIndicator"></div>'); 
     modal.addFooterBtn('Close popup', 'tingle-btn tingle-btn--primary', function() { 
      modal.close(); 
     }); 

答えて

0

この行は、私には奇妙に見える:

setTimeout(function() { mediaElement.media.play(); }, 5000);

は、あなたは自分のメディア要素にautoplay: trueを設定する必要があり、それが自動的に再生されます。

+0

ありがとうございました。私はそれを試みます。 – Zuzlx

+0

これについてのいくつかのニュース。まず、それは私のクロムで動作しないように見えます。私は別のクロムでそれを試して、それは動作しているように見えます。第二に、私は 'setTimeout'をコメントアウトしましたが、違いはありません。私のFFでは動作しますが、私のChromeでは動作しません。私はクロームで 'chrome:// webrtc-internals /'を見ましたが、エラーはありません。 jsコンソールもクリアで、エラーはありません。 – Zuzlx

関連する問題