Frage

Der folgende Code ist eine Kombination von Proben aus red5 genommen. Grundsätzlich versuche ich, einen Live-Stream Teilnehmer mit einem Chat-Box zu verbinden, die auf gemeinsamen Objekte. Ich bin kein Flash-Entwickler und haben ein sehr begrenztes Verständnis von dem, was hier vor sich geht.

// ** 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();
    }
}

}

Ich glaube nicht, dass var chat überall initialisiert wird, als trace(chat) druckt ‚undefined‘. Allerdings var connector und var publish_video scheinen ihre Instanzen von der Bühne zu sammeln.

In diesem Codebeispiel enthalten diese beiden und hat gut funktioniert, aber ich kann meine Ergänzungen verhalten sich die gleiche Art und Weise nicht machen.

Ich habe eine Instanz von BasicChat auf die Bühne (Ich bin mit Flash CS4) hinzugefügt und habe die Vergangenheit viele Stunden damit verbracht, zu spielen mit seinen verschiedenen Eigenschaften, Schichten und Gruppierungen, aber ohne Erfolg.

Kann jemand empfehlen, warum mein var chat nicht seine Instanz von der Bühne zu sammeln?

War es hilfreich?

Lösung

Haben Sie die Instanznamen Ihrer BasicChat Stufe Instanz festgelegt? Es sollte auf „Chat“ eingestellt werden. So legen Sie es, klicken Sie auf die Bühne Instanz und finden Sie den Instanznamen Feld im Eigenschaftenfenster (erste / top sichtbaren Bereich).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top