国产探花免费观看_亚洲丰满少妇自慰呻吟_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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汶上县| 剑阁县| 天等县| 梁山县| 定安县| 崇信县| 中方县| 红安县| 讷河市| 体育| 遵义县| 临邑县| 进贤县| 平邑县| 汤阴县| 金门县| 绍兴市| 沭阳县| 庐江县| 健康| 麻江县| 灵璧县| 双峰县| 文昌市| 石景山区| 宁远县| 彩票| 中超| 土默特左旗| 福建省| 翁牛特旗| 彭山县| 宜君县| 神农架林区| 北流市| 辽阳市| 铜陵市| 正阳县| 铜鼓县| 图片| 车险|