2015-02-11 41 views
0

這是對stackflow qustion的擴展。我想以編程方式創建div,並將opentok用戶凸輪附加到它上面,並且所有用戶凸輪需要在父div「#subscription」下。請讓我知道我在代碼中做錯了什麼。如何使用Enyojs以編程方式添加新div並附加到opentok的訂戶

的jsfiddle

http://jsfiddle.net/6z9n65ty/55/

更新的jsfiddle

http://jsfiddle.net/6z9n65ty/59/

代碼認購格

enyo.kind({ 
    name : "blanc.SubscriberWrapper", 
    showing: true, 
    stream: null, 
    session: null, 
    create: function(){ 
     this.inherited(arguments); 
     if(this.stream != null && this.session != null){ 
      this.subscribe(); 
     } 
    }, 
    subscribe: function(){ 
     this.session.subscribe(this.stream, this.hasNode()); 
    } 
}); 

更新

我想附加流到subscribeButton,下面的代碼會將第一個訂閱者流添加到「#subscribeButton」。如果存在第二個訂閱流,則它將用第二個流覆蓋先前的訂閱攝像機視頻。我想讓所有的用戶在屏幕上查看。所以我試圖用create函數創建新的div。

streamCreated: function (event) { 
     this.session.subscribe(event.stream, subscribeButton); 
    // Add subscriber stream to a new div 
    // this.createComponent({kind: "blanc.SubscriberWrapper", name : event.stream.id, stream: event.stream, session: this.session}); 
// this.render(); 
    }, 

的jsfiddle

http://jsfiddle.net/6z9n65ty/62/

回答

0

我相信你的代碼的問題是,hasNode()將返回false(或者是null?),因爲節點尚未呈現。將​​更改爲rendered:,它可能會有效。

你的小提琴中的令牌已經過期,所以我無法進一步測試它,但不能。創建新組件的代碼在第一時間看起來是正確的。

你沒有說當執行代碼時會發生什麼--did。如果你只是空白的div,那麼我的假設是正確的。

+0

我更新了代碼並且還動態生成了令牌。你現在可以檢查嗎? – user1595858 2015-02-12 20:29:12

+0

你將不得不給我繁殖步驟和更好的描述發生了什麼。 – Pre101 2015-02-12 21:04:04

+0

我已取消註釋this.session.subscribe(event.steam,subscribeButton);現在第一個訂閱者視頻將被附加到「subscribeButton」。它只適用於只有一個用戶。如果訂戶動態增加,我希望它能夠工作。 – user1595858 2015-02-12 21:49:31

相關問題