Flash 如何将netstream.appendBytes()用于http动态流?
我试图弄明白如何在flash 10.1中使用http动态流,但我无法使基本功能正常工作。在视频文件中使用appendbytes的语法是什么Flash 如何将netstream.appendBytes()用于http动态流?,flash,flash-cs4,actionscript-3,flash-cs5,Flash,Flash Cs4,Actionscript 3,Flash Cs5,我试图弄明白如何在flash 10.1中使用http动态流,但我无法使基本功能正常工作。在视频文件中使用appendbytes的语法是什么 package com.player { import flash.display.Stage; import flash.net.NetConnection; import flash.net.NetStream; import flash.media.Video; import flash.display.Sprite; import flash.ne
package com.player {
import flash.display.Stage;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.media.Video;
import flash.display.Sprite;
import flash.net.URLRequest;
import flash.net.URLStream;
import flash.events.Event;
import flash.utils.ByteArray;
public class Player extends Sprite {
const vurl = "file://E:/clip.flv"
private var nc:NetConnection;
private var ns:NetStream;
private var vo:Video;
private var urlstream:URLStream;
public function Player() {
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
ns.client = new StreamClient();
vo = new Video();
vo.attachNetStream(ns);
addChild(vo);
ns.play(vurl);
var urlrequest:URLRequest = new URLRequest(vurl)
urlstream = new URLStream();
urlstream.addEventListener(Event.COMPLETE, completeHandler);
urlstream.load(urlrequest);
}
private function completeHandler(event:Event):void {
trace("completeHandler: " + event);
var bytes:ByteArray = new ByteArray();
urlstream.readBytes(bytes);
ns.appendBytes(bytes);
}
}
}
运行此命令会出现以下错误:
TypeError:Error#2004:其中一个参数无效。
在flash.net::NetStream/appendBytes()中
在
我已经找到了解决问题的办法。您必须以ns.play(null)而不是ns.play(“要下载的url”)开头 您是否能够了解如何进行真正的HTTP流(即将多个流缝合在一起)。我曾尝试将两个不同的FLV文件缝合在一起,但总是会跳过它们。连接到null并不是一个真正的答案。。。请查看最终的flashdoc以了解更多解释。模糊错误表明您的NetStream对象未处于“数据生成模式”,例如,您打开/写入了它。也许以后可以覆盖URL?但这是相当跛脚的,在流前线,无论如何。。。