actionscript-3 - 使用 - direct connect gateway 料金



ダイレクトコネクトでのAdobe Cirrusエラー「flash.net.NetStreamでプロパティstartTransmitが見つかりません」 (4)

サーバー側のスクリプトでは、おそらく(または他の誰かが)アプリケーションを設定しているので、関数はstartTransmitであり、クライアント側では処理されません。 サーバーからコードを削除するか、既定値を追加するか、コードに関数を追加します。

私の同様のプログラムでは、私は自分のコードに関数を追加しなければならなかった(私の場合、 'startTransmit'ではない):

if ("NetConnection.Connect.Success" == e.info.code) {
netConnection.client=new Object();
netConnection.client.startTransmit=startTransmit; //no columns!
}

ここで、startTransmitは

private function startTransmit():Boolean{
    return true;
}

https://src-bin.com

エラー:

ReferenceError: Error #1069: Property startTransmit not found on flash.net.NetStream and there is no default value.

私は前に何回も巻き札で遊んだことがありますが、以前はこのエラーを見ていませんでした。 しかし、今私はそれを消すことはできません。

私のP2Pダイレクト接続はうまく動作します。 しかし毎回私はこのエラーをポップアップ表示します。 例外をスローします。 私は正確にどこに起こっているのか分かりません。

誰かがこれまでに遭遇したことはありますか? 私が見なければならないあらゆるアイデア?


Answer #1

あなたはh264ビデオを送っていますか? 私はそれがそれと関係していると思います...

追加する場合

public function startTransmit($p1:*,$p2:*):void{

}

public function stopTransmit():void{

}

どこにメディアサーバ接続があっても正常に動作するはずです。少なくとも私にとってはそうです:)


Answer #2

すべてのクライアントオブジェクトには、以下の関数が定義されている必要があります。

client.stopTransmit=function($p1:*,$p2:*):void{
    trace("stopTransmit called",$p1,$p2);
}
client.startTransmit=function():void{
    trace("startTransmit called");
}

たとえば、 onPeerConnect関数で次のように設定します。

sendStream.client = new Object();
sendStreamClient.onPeerConnect = function(subscriber:NetStream): Boolean{
    var client:Object=new Object();
    client.stopTransmit=function($p1:*,$p2:*):void{
        trace("stopTransmit called",$p1,$p2);
    }
    client.startTransmit=function():void{
        trace("startTransmit called");
    }
    subscriber.client=farStreamClient;
}

さらに、これらはsendStreamClientのclientプロパティで設定する必要があります:

sendStreamClient.client.stopTransmit=function($p1:*,$p2:*):void{
    trace("stopTransmit called",$p1,$p2);
}
sendStreamClient.client.startTransmit=function():void{
    trace("startTransmit called");
}

また、recieveStreamClientのclientプロパティで設定する必要があります。


Answer #3

この問題は、AMSまたはRed5サーバーでは発生しません。 AndroidデバイスからP2Pで動画を送信しても、同じエラーが発生します。 このソリューションは機能しました。 実際、stopTransmit()はブール値と整数を送信します。 彼らが何を意味するのか知ることはすばらしいことでしょう。 私はそれを文書化または削除するために、Adobeのバグベースにバグをオープンしました。 投票してください: https : //bugbase.adobe.com/index.cfm?event=bug&id=3844856