3
我想弄清楚如何使用HTTP動態流與閃光10.1,但我不能得到基本功能的工作。與視頻文件一起使用appendbytes的語法是什麼?如何使用netstream.appendBytes()進行http動態流式傳輸?
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: One of the parameters is invalid. at flash.net::NetStream/appendBytes() at ...
您是否能夠弄清楚如何進行真正的HTTP流式傳輸(即將多個流拼接在一起)。我試圖將兩個不同的FLV文件縫合在一起,但總是跳過它們。 – Scott 2010-12-28 20:09:52
不是真正的連接到null的答案...請查看http://stackoverflow.com/a/7948112/280551以及最終的flashdoc以獲取更多解釋。模糊的錯誤表明你的NetStream對象不處於「數據生成模式」,例如你打開/寫信給它。 也許URL可能會在以後被覆蓋?但是,這是非常跛腳的,無論如何,在流媒體方面...... – edwardsharp 2011-11-29 01:49:00