错误:
ReferenceError: Error #1069: Property startTransmit not found on flash.net.NetStream and there is no default value.
我以前玩过 cirrus 很多次,但之前还没有看到这个错误。但现在我不能让它消失。
我的 p2p 直接连接工作得很好。但每次我看到这个错误弹出。它抛出一个异常。我无法弄清楚它到底发生在哪里。
有没有人遇到过这个?我应该在哪里看的任何想法?
错误:
ReferenceError: Error #1069: Property startTransmit not found on flash.net.NetStream and there is no default value.
我以前玩过 cirrus 很多次,但之前还没有看到这个错误。但现在我不能让它消失。
我的 p2p 直接连接工作得很好。但每次我看到这个错误弹出。它抛出一个异常。我无法弄清楚它到底发生在哪里。
有没有人遇到过这个?我应该在哪里看的任何想法?
每个客户端对象都需要定义以下函数。
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
属性上设置它们。
在服务器端脚本上,您(或其他人)可能已经设置了应用程序,以便它回调一个函数——这次是 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;
}
您要发送 h264 视频吗?我觉得跟这个有关……
如果你添加
public function startTransmit($p1:*,$p2:*):void{
}
public function stopTransmit():void{
}
在您有媒体服务器连接的地方,它应该可以正常工作,至少对我有用:)
问题不在 AMS 或 Red5 服务器上。即使从 Android 设备在 P2P 上传输视频也会触发相同的错误。解决方案奏效了。实际上 stopTransmit() 发送一个布尔值和一个整数。知道它们的意思会很神奇。我在 adobe bugbase 上打开了一个错误,以便记录或删除它。请投票: https ://bugbase.adobe.com/index.cfm?event=bug&id=3844856
除了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;
}