문제

다음 코드는 RED5에서 가져온 샘플의 조합입니다. 기본적으로 라이브 스트림 구독자를 공유 객체를 기반으로 채팅 상자와 결합하려고합니다. 나는 플래시 개발자가 아니며 여기서 무슨 일이 일어나고 있는지에 대한 이해가 매우 제한적입니다.

// ** 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 connector 그리고 var publish_video 무대에서 인스턴스를 수집하는 것 같습니다.

이 샘플 코드에는이 두 가지가 포함되어 있었고 잘 작동했지만 추가가 같은 방식으로 행동 할 수는 없습니다.

기본 체트 인스턴스를 무대에 추가했으며 (Flash CS4를 사용하고 있습니다) 지난 몇 시간 동안 다양한 속성, 레이어 및 그룹화로 연주했지만 소용이 없습니다.

누구든지 내 이유를 제안 할 수 있습니다 var chat 무대에서 인스턴스를 수집하지 않습니까?

도움이 되었습니까?

해결책

Basicchat 단계 인스턴스의 인스턴스 이름을 설정 했습니까? "채팅"으로 설정해야합니다. 설정하려면 단계 인스턴스를 클릭하고 속성 패널에서 인스턴스 이름 필드를 찾으십시오 (첫 번째/상단 표시 필드).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top