我在cordova应用程序中安装了以下插件:
我能够将我的设备连接到同一会话,但我无法在每个设备屏幕上看到订阅者流。
我只能看到自己的流。
这是我的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 );
}
};
答案 0 :(得分:0)
您的代码似乎有多个问题。首先,sessionIds中不应包含任何空格。其次,session.on方法没有右括号)
。
Cordova不擅长检测javascript错误,我强烈建议您使用weinre作为调试工具。
我在https://github.com/songz/cordova-plugin-opentok.git
的存储库的examples
文件夹中添加了一些示例代码
您可以尝试将示例目录中的www
文件夹替换为www
文件夹。 repository's readme文件包含有关示例代码以及如何使其正常工作的说明。
希望有所帮助!