3

错误:

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

我以前玩过 cirrus 很多次,但之前还没有看到这个错误。但现在我不能让它消失。

我的 p2p 直接连接工作得很好。但每次我看到这个错误弹出。它抛出一个异常。我无法弄清楚它到底发生在哪里。

有没有人遇到过这个?我应该在哪里看的任何想法?

4

5 回答 5

3

每个客户端对象都需要定义以下函数。

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属性上设置它们。

于 2013-10-31T20:42:29.197 回答
1

在服务器端脚本上,您(或其他人)可能已经设置了应用程序,以便它回调一个函数——这次是 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;
}
于 2012-04-23T14:50:41.040 回答
0

您要发送 h264 视频吗?我觉得跟这个有关……

如果你添加

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

}

public function stopTransmit():void{

}

在您有媒体服务器连接的地方,它应该可以正常工作,至少对我有用:)

于 2012-07-05T13:41:03.033 回答
0

问题不在 AMS 或 Red5 服务器上。即使从 Android 设备在 P2P 上传输视频也会触发相同的错误。解决方案奏效了。实际上 stopTransmit() 发送一个布尔值和一个整数。知道它们的意思会很神奇。我在 adobe bugbase 上打开了一个错误,以便记录或删除它。请投票: https ://bugbase.adobe.com/index.cfm?event=bug&id=3844856

于 2014-10-29T16:50:51.337 回答
0

除了receiveStream 和sendStream 之外,还有另一个netstream。您应该在调用者网络流上设置startTransmit函数stopTransmit,如下所示:

sendStreamClient.onPeerConnect = function(callerns:NetStream): Boolean{
    var farStreamClient:Object=new Object();
    farStreamClient.stopTransmit=function($p1:*,$p2:*):void{
        trace("-------------farStream stopTransmit called!",$p1,$p2);
    }
    farStreamClient.startTransmit=function():void{
        trace("-------------farStream startTransmit called!");
    }
    callerns.client=farStreamClient;
}
于 2012-12-30T13:08:57.783 回答