问题
I have a netConnection connected to a Flash Media Server. I am trying to use the new appendBytes function from Flash Player 10.1 to stream a local FLV file to FMS. I'm having issues however... Documentation I get online
function playFile(data:ByteArray):void
{
// data is bytearray data from an already loaded FileReference object
netStream.play(null);
netStream.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
netStream.appendBytes(data);
}
However, I'm getting an error with the appendBytesAction and appendBytes. The error is: Error #2004: One of the parameters is invalid....
TypeError: Error #2004: One of the parameters is invalid.
Any ideas? Thanks
回答1:
You can't use appendBytes
successfully when your stream's NetConnection
is connected to anything else than "null". From the documentation of appendBytes
method at http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#appendBytes%28%29:
Passes a
ByteArray
into aNetStream
for playout. Call this method on aNetStream
in "Data Generation Mode". To put aNetStream
into Data Generation Mode, callNetStream.play(null)
on aNetStream
created on aNetConnection
connected to null. CallingappendBytes()
on aNetStream
that isn't in Data Generation Mode is an error and raises an exception.
This almost certainly implies that what Adobe calls "Data Generation Mode" will not be available on a connection object connected to say, a Flash Media Server instance.
来源:https://stackoverflow.com/questions/7947269/netstream-appendbytes