2009-05-05 80 views
0

以下代碼是取自red5的樣本的組合。基本上,我正在嘗試將實時流訂閱服務器與基於共享對象的聊天框結合使用。我不是Flash開發人員,對這裏發生的事情瞭解甚少。這些變量如何被初始化?

// ** AUTO-UI IMPORT STATEMENTS ** 
import org.red5.utils.Connector; 
import org.red5.samples.simplechat.BasicChat; 
// ** END AUTO-UI IMPORT STATEMENTS ** 
import com.neoarchaic.ui.Tooltip; 
import org.red5.net.Stream; 
//import org.red5.utils.Delegate; 
import com.blitzagency.xray.util.XrayLoader; 

class org.red5.samples.livestream.subscriber.Main extends MovieClip { 
// Constants: 
    public static var CLASS_REF = org.red5.samples.livestream.subscriber.Main; 
    public static var LINKAGE_ID:String =  "org.red5.samples.livestream.subscriber.Main"; 
// Public Properties: 
// Private Properties: 
private var stream:Stream; 
private var cam:Camera; 
// UI Elements: 

// ** AUTO-UI ELEMENTS ** 
    private var connector:Connector; 
    private var publish_video:Video; 
    private var chat:BasicChat; 
// ** END AUTO-UI ELEMENTS ** 
    private var uri:String = "rtmpt://localhost/oflaDemo"; 

// Initialization: 
    private function Main() {XrayLoader.loadConnector("xray.swf");} 
    private function onLoad():Void { configUI(); } 

// Public Methods: 
// Semi-Private Methods: 
// Private Methods: 
    private function configUI():Void 
    { 
     // setup the tooltip defaults 
    Tooltip.options = {size:10, font:"_sans", corner:0}; 
    // setup cam 
    cam = Camera.get(); 
    // get notified of connection changes 
    connector.addEventListener("connectionChange", this); 

    // set the uri 
    Connector.red5URI = uri; 

    // initialize the connector 
    connector.configUI(); 
    connector.makeConnection(); 
} 

private function connectionChange(evtObj:Object):Void 
{  

    if(evtObj.connected) 
    { 
     // setup stream 
     // XXX: odd hack needed for flashIDE. 
     var conn = evtObj.connection; 
     var x = new Stream(conn); 
     stream = x; 
     stream.play("red5StreamDemo", -1); 
     publish_video.attachVideo(stream); 
     trace(chat); 
     // register the NetConnection that GlobalObject will need 
     chat.registerConnection(conn); 

     // connect the shared object 
     chat.connectSO(); 
    } 
} 

} 

我不認爲var chat正在初始化任何地方,trace(chat)打印「不確定」。然而var connectorvar publish_video似乎從舞臺上收集他們的實例。

此示例代碼包含這兩個並且工作正常,但我無法讓我的添加行爲相同的方式。

我已經將BasicChat的一個實例添加到了舞臺上(我正在使用Flash CS4),並且花費了很多小時來玩它的各種屬性,圖層和分組,但無濟於事。

任何人都可以提出爲什麼我的var chat不是從舞臺上收集它的實例嗎?

回答

1

您是否設置了BasicChat階段實例的實例名稱?它應該設置爲「聊天」。要設置它,請單擊舞臺實例並在「屬性」面板中找到實例名稱字段(第一個/頂部可見字段)。

+0

整合在一起。非常感謝你 :) – Cogsy 2009-05-05 21:00:29