1

我在我的科尔多瓦应用程序中安装了以下插件:

我可以将我的设备连接到同一个会话,但我看不到每个设备屏幕上的订阅者流。

我只能看到我自己的流。

这是我的 index.js 的代码:

var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},

bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},

onDeviceReady: function() {
app.receivedEvent('deviceready');
},

receivedEvent: function(id) {

var apiKey = "44684902";
var sessionId = "2_MX40NDY4NDkwMn5-VHVlIE1hciAxMSAwNzo0NjoxNyBQRFQgMjAxNH4wLjIyMDExNzk5fg";
var token =   "T1==cGFydG5lcl9pZD00NDY4NDkwMiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz04OGU4ODg4NTEyYTFhZTcyNWNkOGJiOWQ0ODhlMjA2ZWQ5NjI1YmJmOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDQwTkRZNE5Ea3dNbjUtVkhWbElFMWhjaUF4TVNBd056bzBOam94TnlCUVJGUWdNakF4Tkg0d0xqSXlNREV4TnprNWZnJmNyZWF0ZV90aW1lPTEzOTQ1NDkyMDAmbm9uY2U9MC4zNTU5Mzc3NzU5MDg3MjIyJmV4cGlyZV90aW1lPTEzOTQ1NzA3NjImY29ubmVjdGlvbl9kYXRhPQ==";

var publisher = TB.initPublisher(apiKey,'myPublisherDiv' );
var session = TB.initSession( sessionId );
session.on({
    'sessionConnected': function( event ){
      session.publish( publisher );
    },
    'streamCreated': function( event ){
        var div = document.createElement('div');
        div.setAttribute('id', 'stream' + event.stream.streamId);
        document.body.appendChild(div);
        session.subscribe( event.stream, div.id);
    }
  });
  session.connect( apiKey, token );

  }
  };
4

1 回答 1

0

您的代码似乎有多个问题。首先, sessionIds 中不应包含任何空格。其次,您的 session.on 方法没有右括号)

Cordova 不擅长检测 javascript 错误,我强烈推荐使用weinre作为调试工具。

我在https://github.com/songz/cordova-plugin-opentok.gitexamples的存储库的文件夹中 包含了一些示例代码

您可以尝试用示例目录中的文件夹替换您www的文件夹。www存储库的自述文件解释了示例代码以及如何使其工作。

希望有帮助!

于 2014-03-11T23:42:37.747 回答