在我開始播放電影,我添加了一對夫婦的提示點,然後註冊回調,並跟蹤每次它被擊中,就像這樣:早期的ActionScript電影提示點觸發太晚
private function onCuePoint(evt:CuePointEvent):void {
var cuePointObject:Object = {name:evt.cuePointName, time:evt.cuePointTime, type:evt.cuePointType};
trace("onCuePoint: " + evt.cuePointName + "=" + cueDict[evt.cuePointName] + " @t=" + cuePointObject.time + " playtime=" + playheadTime);
}
你」 d認爲cuePointObject.time將大致等於電影的播放頭時間。下面是輸出:
onCuePoint: cue3.4=cue3.4 @t=5.6 playtime=5.611
onCuePoint: cue1=cue1 @t=1 playtime=5.611
onCuePoint: cue2=cue2 @t=3 playtime=5.611
onCuePoint: cue2=cue2 @t=5 playtime=5.611
onCuePoint: cue3.1=cue3.1 @t=5 playtime=5.611
onCuePoint: cue3.1=cue3.1 @t=5.2 playtime=5.611
onCuePoint: cue3.2=cue3.2 @t=5.2 playtime=5.611
onCuePoint: cue3.2=cue3.2 @t=5.4 playtime=5.611
onCuePoint: cue3.3=cue3.3 @t=5.4 playtime=5.611
onCuePoint: cue3.3=cue3.3 @t=5.6000000000000005 playtime=5.611
onCuePoint: cue3.4=cue3.4 @t=5.8 playtime=5.888
onCuePoint: cue3.5=cue3.5 @t=5.8 playtime=5.888
onCuePoint: cue4=cue4 @t=10 playtime=9.92
onCuePoint: cue1=cue1 @t=11 playtime=11.221
看起來好像它一直等待,直到「cue3.4」被觸發,然後剩下的遵循某種原因。它們以數組的形式添加到視頻中,大致按照它們出現的順序排序,所以cue3.4不是第一個。
動作提示點並不總是可靠的。如果你可以使用嵌入的提示點,那會很好。如果你正在使用動作提示點,但他們不適合你的工作,也許你可以使用Timer類(多個實例,或者一個單一的實例,你會更新與時間值數組之間的相對時間) – 2011-02-03 09:57:37