2009-05-05 101 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