Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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.js中加入聊天时,不会触发session.on(“StreamCreated”,functon())_Javascript_Php_Opentok - Fatal编程技术网

Javascript 订户在Opentok.js中加入聊天时,不会触发session.on(“StreamCreated”,functon())

Javascript 订户在Opentok.js中加入聊天时,不会触发session.on(“StreamCreated”,functon()),javascript,php,opentok,Javascript,Php,Opentok,我正在使用视频会议中的Opentok.js库,下面是js代码。 但是Session.on(“streamCreated”,function(event){});当订户加入房间时,不会触发 我正在使用中继基地聊天 感谢您的任何帮助。提前谢谢 <script src="http://static.opentok.com/webrtc/v2.2/js/opentok.js"></script> <script src="//code.jquery.com/jquery-1

我正在使用视频会议中的Opentok.js库,下面是js代码。 但是Session.on(“streamCreated”,function(event){});当订户加入房间时,不会触发

我正在使用中继基地聊天

感谢您的任何帮助。提前谢谢

<script src="http://static.opentok.com/webrtc/v2.2/js/opentok.js"></script>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

<script>
var ping=function(pid){$.ajax({type:'POST',url:'https://hlg.tokbox.com/prod/logging/ClientEvent',
data:JSON.stringify({action:'sk_init',partner_id: pid,payload:{id:'link',l:'php',v:'1.0.0'}}),
processData:false, contentType: 'application/json'});};
</script>
<script>

var apiKey = "<?php echo $data['apiKey']?>",
session_id = "<?php echo $data['sessionId']?>",
token = "<?php echo $data['token'] ?>",
property = { insertMode: "append" },
publisher = OT.initPublisher("myPublisher", property),
session = OT.initSession(apiKey, session_id);

session.connect( token, function(err) {
  if(!err) { session.publish(publisher); }
  //userType = session.connection.data;

});

console.log("before stream created for subscriber",session.on());

session.on("streamCreated", function(event) {
  alert("stream" + event.stream);
  session.subscribe(event.stream, 'subscriber',  property);
});

console.log("after stream created for subscriber");

session.connect(token, function(err) {
  if(!err){ session.publish(publisher); }
});

ping(apiKey);

您是否对一个房间使用相同的会话或每次生成相同的会话?一个房间必须使用一个公共会话。还有一件事,publisher不能在Opentok中监听他自己的stream created事件。是的,我正在为php sdk服务器代码生成会话,并为每个加入聊天室的用户维护会话id。在一个文件中写入发布代码,在另一个文件中监听“stream created”事件。确保只有一个会话用于发布和侦听。Publisher无法收听自己的流,因为他可以查看流!谢谢你回答BCoder,我用另一种方式完成了这个功能谢谢你每次都使用相同的会话还是生成?一个房间必须使用一个公共会话。还有一件事,publisher不能在Opentok中监听他自己的stream created事件。是的,我正在为php sdk服务器代码生成会话,并为每个加入聊天室的用户维护会话id。在一个文件中写入发布代码,在另一个文件中监听“stream created”事件。确保只有一个会话用于发布和侦听。Publisher无法收听自己的流,因为他可以查看流!谢谢你回答BCoder,我用另一种方式完成了这个功能谢谢
$opentok = new OpenTok('45433942', 'f4c2aa60dc4febfb78fc5eead865adb46c613035');
    $session = $opentok->createSession();
    $sessionId = $session->getSessionId();
    $token = $opentok->generateToken($sessionId);

    $data = array(
            'apiKey'=>'45433942',
            'token'=>$token,
            'sessionId'=>$sessionId
        );
    return View::make('opentok/index')->with('data',$data);