国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

8.13.處理FLV數據的提示點

2024-04-27 13:52:04
字體:
來源:轉載
供稿:網友
8.13.1. 問題
我需要在播放時使用編譯在FLV 文件中的提示點。
8.13.2. 解決辦法
使用NetStream 類的onCuePoint 事件,創建一個處理方法,當遇到提示點時激活。
8.13.3. 討論
提示點是插入到一個FLV 文件中的紀錄一個視頻特定時間的值,包括一個簡單的名稱或帶有一個hash 表值的數據對象。提示點經常在文件開始編譯時插入一個FLV 文件,任何值在這里確定。Flex VideoDisplay 對象使用mx.controls.videoclasses.CuePoint manager 類來從提示點檢測和讀取數據。為進一步了解這些,請考慮例子如何使用flash.media.Video 對象。

當NetConnection 對象已經連接時,NetStream 被實例化,你需要設置一個對象傳遞任何變化數據和提示點事件的處理方法。
+展開
-ActionScript
var obj:Object = new Object();
obj.onCuePoint = onCuePoint;
obj.onMetaData = onMetaData;
ns.client = obj;

這些需要在NetStream 的play 方法被呼叫之前實現。注意下面的代碼,onMetaData 和onCuePoint 事件作為參數被對象接受。
+展開
-ActionScript
import flash.events.NetStatusEvent;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import mx.core.UIComponent;
public class CuePointExample extends UIComponent
{
private var ns:NetStream;
private var nc:NetConnection;
private var obj:Object = {};
private var vid:Video;
public function CuePointExample () {
super();
vid = new Video();
addChild(vid);
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS,
netStatusEventHandler);
nc.connect(null);
}
private function
netStatusEventHandler(event:NetStatusEvent):void {
ns = new NetStream(nc);
obj.onCuePoint = onCuePoint;
obj.onMetaData = onMetaData;
ns.client = obj;
ns.play("http://localhost:3001/test2.flv");
vid.attachNetStream(ns);
}
private function onCuePoint(obj:Object):void {
trace(obj.name+" "+obj.time+" "+obj.length+" ");
for each(var o:String in obj.parameters) {
trace(obj[o]+" "+o);
}
}
private function onMetaData(obj:Object):void{
}
}

使用mx.controls.VideoDisplay 相當大程度簡化了提示點的工作。當使用CuePointManager 處理CuePointEvent 時,不同于前面的情況下,收到的事件只擁有三個屬性: cuePointTime,cuePointName, and cuePointType. 如果你需要從提示點獲得更多或不同的信息,你可能要寫一個自定義類來返回提示點數據,并設置它為VideoDisplay 對象的cuePointManager 屬性。

完整的代碼如下:
+展開
-XML
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxmlwidth="400"
height="300">

<mx:Script>
<![CDATA[
import mx.events.CuePointEvent;
private function onCuePoint(event:CuePointEvent):void {
trace(event.cuePointName+" "+event.cuePointTime+
" "+event.cuePointType+" ");
}

]]>
</mx:Script>
<mx:VideoDisplay id="vidcuePoint="onCuePoint(event)"/>
</mx:VBox>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临清市| 沛县| 建平县| 正镶白旗| 石屏县| 滕州市| 都昌县| 缙云县| 革吉县| 石家庄市| 苏尼特左旗| 金川县| 凯里市| 铅山县| 南岸区| 琼海市| 封丘县| 淳化县| 洛阳市| 云林县| 曲沃县| 万山特区| 固镇县| 无棣县| 晋州市| 扎鲁特旗| 金川县| 泰来县| 桦南县| 宜兰县| 房山区| 自治县| 舞钢市| 深泽县| 双流县| 丰城市| 黄陵县| 连州市| 三亚市| 武鸣县| 昌黎县|