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フォルダーを example ディレクトリ内のフォルダーに置き換えてみてくださいwww。リポジトリのreadmeファイルには、サンプル コードとそれを機能させる方法についての説明があります。

それが役立つことを願っています!

于 2014-03-11T23:42:37.747 に答える