Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可能会妨碍opentok视频聊天应用程序的错误(Bug)_Javascript_Video Streaming_Webrtc_Opentok_Tokbox - Fatal编程技术网

Javascript 可能会妨碍opentok视频聊天应用程序的错误(Bug)

Javascript 可能会妨碍opentok视频聊天应用程序的错误(Bug),javascript,video-streaming,webrtc,opentok,tokbox,Javascript,Video Streaming,Webrtc,Opentok,Tokbox,我关心的问题是找出代码中可能存在的错误,这些错误可能会妨碍opentok服务在代码中顺利运行(没有任何错误)。我的代码可能出了问题请检查我如何通过我的代码结束任何视频聊天。其他代码可能编写错误 我正在使用的库版本是 <script type="text/javascript" src="http://static.opentok.com/webrtc/v2.2/js/TB.min.js" ></script> 在tokbox文档的帮助下编写的其余代码和函数如下 &l

我关心的问题是找出代码中可能存在的错误,这些错误可能会妨碍opentok服务在代码中顺利运行(没有任何错误)。我的代码可能出了问题请检查我如何通过我的代码结束任何视频聊天。其他代码可能编写错误
我正在使用的库版本是

<script type="text/javascript" src="http://static.opentok.com/webrtc/v2.2/js/TB.min.js" ></script> 

在tokbox文档的帮助下编写的其余代码和函数如下

<appSettings>
        <add key="opentok_key" value="******"/>
        <add key="opentok_secret" value="***********************"/>
        <add key="opentok_server" value="https://api.opentok.com"/>
        <add key="opentok_token_sentinel" value="T1=="/>
        <add key="opentok_sdk_version" value="tbdotnet"/>
var sessionId;
 var token;
 var apiKey = "*******";
 var publisher_connections = {};
 var publisher;
 var session;
 var Id;
 var streamedTime;
 var hours;
 var minutes;
 var seconds;
 function a() {
     sessionId = document.getElementById('<%= hdn.ClientID%>').value;
      token = document.getElementById('<%= hdn1.ClientID%>').value;



     session = TB.initSession(sessionId);
     session.addEventListener("sessionConnected", sessionConnectedHandler);
     session.addEventListener('sessionDisconnected', sessionDisconnectedHandler);
     session.addEventListener("streamCreated", streamCreatedHandler);
     session.addEventListener("sessionDestroyed", sessionDestroy);
     session.addEventListener("signal", signalHandler);
     session.addEventListener("streamDestroyed", streamDestroyedHandler);
     session.addEventListener('connectionCreated', connectionCreatedHandler);
     session.addEventListener('connectionDestroyed', connectionDestroyedHandler);
     TB.addEventListener("exception", exceptionHandler);
     TB.setLogLevel(TB.DEBUG);
     session.connect(apiKey, token);

 }

 function sessionConnectedHandler(event) {
     console.log("connected");
     subscribeToStreams(event.streams);
     session.publish();


 }

 function sessionDisconnectedHandler(event) {
     alert("Session Disconnected");
     for (var i = 0; i < event.streams.length; i++) {alert(event.streams[i].connection.connectionId);
         delete publisher_connections[event.streams[i].connection.connectionId];
     }
     publisher = null;


 }


 function streamCreatedHandler(event) {
     console.log("created");
     subscribeToStreams(event.streams);

     for (var i = 0; i < event.streams.length; i++) {
         publisher_connections[event.streams[i].connection.connectionId] = 1;


     }

 }

 function subscribeToStreams(streams) {
     for (var i = 0; i < streams.length; i++) {
         var stream = streams[i];

         if (stream.connection.connectionId != session.connection.connectionId) {

             var subscriber = session.subscribe(stream);

             if (stream.connection.data == "accept") {
                 alert(stream.connection.data + " Joined You");
                 startTimer();
             }
             else {
                 alert(stream.connection.data + " Joined You");
                 UpdateInitializedTime();
                 startTimer();
             }
         }
     }
 }

 function exceptionHandler(event) {
     alert(event.message);
 }

 function sessionDestroy(event) {

         session.disconnect();
         alert("Session Destroyed");
       }

 }

 function streamDestroyedHandler(event) {
     for (var i = 0; i < event.streams.length; i++) {
         delete publisher_connections[event.streams[i].connection.connectionId];

         //alert("Someone left you");


     }

 }


 function connectionDestroyedHandler(event) {

     alert(event.streams[i].connection.connectionId + " left the conversation");
     // This signals that connections were destroyed
 }

 function connectionCreatedHandler(event) {
     // This signals new connections have been created.
   //  alert("this");

    // alert(connection.data);

 }
我有一个断开会话连接的按钮

<input type="button" value="Disconnect" id="btnDisconnect"  onclick="sessionDestroy()" />

它在单击时调用
sessionDestroy()
函数


请像医生一样检查这些代码

您的代码看起来不错。请记住,堆栈溢出用于提问和解决bug。使用它作为校对代码的地方并不是我们想要的

<input type="button" value="Disconnect" id="btnDisconnect"  onclick="sessionDestroy()" />