999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

外部文件哪兒去了

2012-04-29 00:44:03郭大春
中國信息技術教育 2012年12期

郭大春

我的“診斷手記”

編者按:如果您是信息技術教師,或善于鉆研各種技術問題,那么在生活中,在教學中,一定親歷過無數的技術障礙,實施過不勝枚舉的解決方案,有冥思苦想時的抽絲剝繭,更有揮劍斬棘時的暢快淋漓。總有那樣一些“排雷”過程,讓您記憶猶新,總有那樣一些隱性的相關性讓您不斷刷新自己的認知。

現在,我們為您開設了這樣一個陳列館,期待您能夠將這些珍貴的“診斷手記”陳列出來,在展示自己“技藝”的同時也為大家提供更多可供借鑒的思路和經驗。

● 突遇新情況

我剛上完課,走進辦公室,就見王老師早等在我的電腦旁了。見了我便迫不及待地說:“大春,幫看看,我這個視頻怎么打不開啊!”

我一邊拖過鼠標,一邊說,視頻文件沒帶上吧?“不會的,SWF課件能播放視頻;但發布成EXE后播放視頻就成了一片空白了!”王老師一邊說著,一邊示意我分別打開SWF和EXE兩個版本的課件,果然是那樣!

我打開Flash源文件,只見他在調用外部視頻的幀上寫著以下兩行代碼。

_root.createEmptyMovieClip ( "swf_mc", 1 );

_root.swf_mc.loadMovie ( "Flv/Tea.flv" );

我思忖著,沒錯啊,第一行創建一個影片剪輯swf_mc,第二行往swf_mc中裝入外部影片“Flv/Tea.flv”。我再到文件夾里查看,跟FLA文件在一起,果然有一個Flv文件夾,里面也有一個能夠正常播放的Tea.flv。

這下可真讓人困惑了!到處都沒有錯,可結果卻是錯的——調不出視頻。

● 尋找禍根源

問題出在哪兒呢?是不是因為使用了相對路徑,導致EXE課件找不到Tea.flv文件。于是,我嘗試著將EXE課件和Flv文件夾一起復制到我的電腦C盤根目錄下,并將第二行語句改成:“_root.swf_mc.loadMovie ( "C:/Flv/Tea.flv" );”。 隨后,我雙擊運行EXE課件,奇跡出現了,視頻調用成功。

● 一波又三折

我大喜過望,以為使用絕對路徑就可以成功調用。如何使用絕對路徑呢?怎不能要求每次使用課件的時候,都把它固定地放在一個相同的位置?我想到了Flash AS中的“_url”屬性——獲取文件路徑,然后截取路徑中從開頭到最后一個斜杠處的所有字符,再連上“/Flv/Tea.flv”,這樣,一個動態的絕對路徑便出來了。

于是我回到王老師的U盤中,打開源文件,將調用視頻的兩行代碼改成如下三行:

fileName = _url.substr(0, _url.lastIndexOf("/"))+"/Flv/Tea.flv";

_root.createEmptyMovieClip ("swf_mc", 1 );

_root.swf_mc.loadMovie(fileName);

保存后發布成SWF課件和EXE課件,雙擊運行,竟被當頭潑了一瓢冷水——問題依舊:SWF能播放外部視頻,EXE卻一片空白。

● 不識真面目

我又試著在場景中添加了一個動態文本框,命名為:fn_txt,然后在時間軸那三行代碼之后再補上一句:fileName _txt.text = fileName;——看看這個視頻文件的路徑到底變成了什么面目!

再次保存后發布成SWF和EXE兩種格式的課件,雙擊運行,結果真讓人匪夷所思─SWF課件中的文本框顯示的是正常的“file:///M|/我的課件/Flv/Tea.flv”;而EXE課件中的文本框顯示的卻是“file:///M|/鎴戠殑璇句歡/Flv/Tea.flv” —— 路徑中的漢字都成了亂碼。

原來,一切根源都在于Flash不識漢字真面目!

● 迎刃而不解

于是,我百度了一下“Flash exe 調用外部文件 問題”,可結果大多是類似這樣的答案:“也遇到過這個問題,但最后知道EXE不支持loadmovie()。”哎,看來還是得自己尋求解決辦法。于是詳細查看Flash幫助,了解字符編碼方面的知識,找到了一個escape(expression)函數——將參數轉換為字符串,并以URL編碼格式進行編碼,在這種格式中,將所有非字母數字的字符都轉義為%十六進制序列。這正是我所需要的,于是我趕快將Flash課件中的ActionScript改成這樣:

fileName = _url.substr(0, _url.lastIndexOf("/"))+"/Flv/Tea.flv";

fileName = unescape(escape(fileName));

_root.createEmptyMovieClip("swf_mc",1 );

_root.swf_mc.loadMovie (fileName);

fileName _txt.text = fileName;

這樣在loadMovie之前(第二行)用escape對調用的外部文件名進行URL編碼,再用一個unescape把URL 編碼的路徑再解碼回來。我很天真地以為這樣就能解決Flash的漢字識別問題。但再次運行,終于讓人徹底失望了——EXE課件對外部文件路徑的解碼還是一堆亂碼。

后來,我通過進一步探究,發覺escape編碼和unescape解碼都是多余的,在ActionScritp的第一行語句中,就根本沒有獲取正確的外部文件路徑——打包進去的播放器沒有獲取正確的中文文件名。

● 原來卻如此

看來采用“file:///”形式的絕對路徑行不通——因為用戶不能確保整個路徑中沒有漢字,而播放器對漢字文件名又不識別。這時我想到了斜杠(“/”),在網站程序編寫中,斜杠用來分隔目錄,而第一個斜杠則代表網站的根目錄,處于根目錄下的主頁文件對網站資源的調用有兩種方式——絕對路徑調用(從根目錄“/”開始)和相對路徑調用(從當前目錄開始)。

能不能把Flash的EXE課件也想象成網站的首頁呢?那么,它要調用同一文件夾里的Flv目錄中的外部文件,除了前面嘗試的“file:///”形式的絕對路徑之外,還有兩種方式:“Flv/Tea.flv”和“/Flv/Tea.flv”,前一種人們慣用的方式行不通,那么“/Flv/Tea.flv”方式呢?于是,我將上面的ActionScript改成這樣:

fileName = "/Flv/Tea.flv";

_root.createEmptyMovieClip( "swf_mc",1 );

_root.swf_mc.loadMovie (fileName);

發布成SWF和EXE兩種格式的課件,居然都運行通過,終于調出了久違的視頻。

● 問題得徹解

問題解決了,我沾沾自喜一陣子之后,總覺得發布成EXE的Flash課件不能識別漢字文件名,是一個嚴重缺陷,是Flash播放器的一個令人遺憾的Bug,那么,高版本的播放器應該會有改進吧?于是,我改用10.0的播放器打開SWF課件,然后,單擊“文件”、“創建播放器”,生成EXE課件,對三種路徑調用方式分別進行測試,結果如下表所示。

從上表可見,如果你的課件用8.0的播放器打包成EXE文件,只有使用“/Flv/Tea.flv”這種形式調用外部素材;而“/Flv/Tea.flv”這種形式的外部文件調用在10.0的播放器中,又被全盤否定了——不管是SWF格式還是EXE格式,都應采用“Flv/Tea.flv”這種調用方式。

幾天后,我把上面這個表格交給王老師,并說出的我觀點和建議。王老師親自實踐后,拍著腦袋高興地說,總算明白了,以后調用外部文件再也不會暈頭轉向了!

主站蜘蛛池模板: 国产亚洲视频免费播放| 香蕉视频在线精品| 欧美高清三区| 亚洲国产91人成在线| 精品丝袜美腿国产一区| 欧美一级大片在线观看| av色爱 天堂网| 2021最新国产精品网站| 尤物亚洲最大AV无码网站| 国产 在线视频无码| 国产成人精品优优av| 尤物视频一区| 在线欧美日韩| 亚洲国产成人自拍| 久久久久人妻一区精品色奶水| 中文字幕 欧美日韩| 一级毛片免费的| 欧美视频在线播放观看免费福利资源| 亚洲第一福利视频导航| 一区二区三区成人| 国产综合精品日本亚洲777| a毛片免费在线观看| 国产欧美专区在线观看| 国产精品分类视频分类一区| 一区二区日韩国产精久久| 三区在线视频| 一级成人a做片免费| 播五月综合| 日韩av手机在线| 久久亚洲天堂| 国内精品久久九九国产精品| 伊人久久婷婷五月综合97色| 日韩无码黄色网站| 成人在线观看不卡| a色毛片免费视频| 99久久精彩视频| 午夜国产在线观看| 99久久国产精品无码| hezyo加勒比一区二区三区| 区国产精品搜索视频| 亚洲成人精品久久| 亚洲一级毛片| 国产精品七七在线播放| 国产精品视频公开费视频| 免费播放毛片| 国产成人精品优优av| 欧美视频在线观看第一页| 噜噜噜综合亚洲| 亚洲国产亚洲综合在线尤物| 成人日韩视频| 尤物成AV人片在线观看| 99草精品视频| 欧美日韩精品在线播放| 天堂成人在线| 精品在线免费播放| 91在线播放国产| 国产成人在线无码免费视频| 99精品在线视频观看| 亚洲色精品国产一区二区三区| 毛片基地视频| 国产成人乱无码视频| 国产日本欧美亚洲精品视| 亚洲黄网在线| 国产高清在线观看| 色一情一乱一伦一区二区三区小说| 国产黑丝一区| 亚洲视频在线观看免费视频| 六月婷婷综合| 久久综合色天堂av| 国产一区亚洲一区| 国产成本人片免费a∨短片| 亚洲另类色| 国产极品粉嫩小泬免费看| 99激情网| 国产视频自拍一区| 人妻91无码色偷偷色噜噜噜| 中文字幕 日韩 欧美| 国产不卡网| 国产福利观看| 亚洲人成网7777777国产| 国产成人综合日韩精品无码首页| 97国产成人无码精品久久久|