基本上我有一個非常簡單的視頻庫設置。我希望它能夠在視頻暫停時在屏幕上顯示某些按鈕,並且在播放時這些按鈕將不可見。這是我的代碼:試圖爲PLAYING/PAUSED_STATE_ENTERED添加一個事件監聽器,返回錯誤1119
import fl.video.*;
import fl.video.VideoEvent;
import flash.events.Event;
videoOne.addEventListener(Event.PLAYING_STATE_ENTERED, hideInfo());
videoOne.addEventListener(Event.PAUSED_STATE_ENTERED, showInfo());
function showInfo() {
thumbnailOne.visible = true;
thumbnailTwo.visible = true;
thumbnailThree.visible = true;
videoGalleryInfo.visible = true;
infoHidden = 0;
}
function hideInfo() {
thumbnailOne.visible = false;
thumbnailTwo.visible = false;
thumbnailThree.visible = false;
videoGalleryInfo.visible = false;
infoHidden = 1;
}
我一直在使用事件,而不是VideoEvent這一等爲這個固定的問題與早些時候加入另一個事件偵聽complete事件試過,但我總是
返回Video gallery, Layer 'ActionScript', Frame 77, Line 22 1119: Access of possibly undefined property PLAYING_STATE_ENTERED through a reference with static type Class.
Video gallery, Layer 'ActionScript', Frame 77, Line 23 1119: Access of possibly undefined property PAUSED_STATE_ENTERED through a reference with static type Class.
我不明白我在做什麼錯。不應該通過導入fl.video。*來定義屬性。和flash.events.Event;?
編輯︰萬一它很重要,這裏是我的這個特定場景的代碼的其餘部分,包括null建議修復。我仍然得到同樣的錯誤,加上一個「1136:參數不正確的數量預計1」錯誤
import flash.events.MouseEvent;
import fl.video.*;
import fl.video.VideoEvent;
import flash.events.Event;
stop();
homeButton.addEventListener(MouseEvent.CLICK, homePressed);
soundButton.addEventListener(MouseEvent.CLICK, soundPressed);
helpButton.addEventListener(MouseEvent.CLICK, helpPressed);
exitButton.addEventListener(MouseEvent.CLICK, exitPressed);
var videoPlaying:int = 0;
var infoHidden:int = 0;
videoOne.addEventListener(Event.COMPLETE, vid1Comp);
function vid1Comp(event:Event) {
videoOne.visible = false;
showInfo();
}
videoOne.addEventListener(VideoEvent.PLAYING_STATE_ENTERED, hideInfo);
videoOne.addEventListener(VideoEvent.PAUSED_STATE_ENTERED, showInfo);
function showInfo(e:Event):void {
thumbnailOne.visible = true;
thumbnailTwo.visible = true;
thumbnailThree.visible = true;
videoGalleryInfo.visible = true;
infoHidden = 0;
}
function hideInfo(e:Event):void {
thumbnailOne.visible = false;
thumbnailTwo.visible = false;
thumbnailThree.visible = false;
videoGalleryInfo.visible = false;
infoHidden = 1;
}
thumbnailOne.addEventListener(MouseEvent.CLICK, playVid1);
function playVid1(event:MouseEvent) {
hideInfo();
if (musicPlaying == 1) {
SoundMixer.stopAll();
musicPlaying = 0;
}
videoOne.visible = true;
videoOne.play();
videoPlaying = 1;
}
videoOne.visible = false;
感謝您的幫助 - 我試着將代碼更改爲您如何描述,但它僅在我聲明hideInfo和showInfo函數的行上給了我更多的錯誤。傳遞函數也沒有修復1119錯誤。就好像它不喜歡我試圖聽到播放或暫停狀態被觸發的事件,而且我遇到了與我在COMPLETE中提到的類似的問題。我不知道fl.video類是不是很麻煩或者是因爲我沒有嘗試過使用它之類的問題。 – Trekkx
@Trekkx你的編輯添加了很多以前沒有的代碼。我在編輯答案時解決了這些問題,請檢查是否解決了問題。 – null
我改變了我的功能,使他們有e:Event = null,它修復了1136錯誤。我仍然基本上是從哪裏開始的,儘管我仍然遇到了1119個錯誤,我稱之爲PLAYING_STATE_ENTERED和PAUSED_STATE_ENTERED。有沒有這個問題的解決方案,或者可能的解決方法,以便我可以在不使用這兩個常量的情況下實現類似的功能?順便說一下,感謝您的幫助,抱歉是一個滋擾。 – Trekkx