Flash全站的技術應用-Flash也能播放wmv,wma

前言
Flash能播放除flv,mp3以外的其它文件格式嗎?結合Windows Media Player(以下簡稱WMP),答案是肯定的!不過有點可惜的是,這樣的播放器不兼容FF瀏覽器。
記得一個月前,luzhugao把自己做的Flash+WMP音樂播放器拿到經典論壇裏展示:
[url=http://www.zhugao.cn/player/index.html]
[color="#333366"]http://www.zhugao.cn/player/index.html[/color]
[/url]
當時,他的作品可是備受青睞,同時也引起了筆者的關注。因爲筆者前段時間也剛做了個類似的,正在打算要做個也可以播放視頻的,所以想從他的作品中學習一下,然後再寫個教程給大家分享下。可恰逢luzhugao正在做商業版的播放器,他的所有東西都加密了,不方便拿他的來研究。把教程寫出來,也擔心他的版權會受侵犯(加上筆者也曾經是受害者)。不過幸運的是,筆者在luzhugao的播放器裏發現了有個顯示波形的窗口,那個就是用來顯示視頻用的!當發現了這點以後,筆者就可以在自己播放器的基礎上,研究怎麼做視頻播放了。
不過,筆者在做這個之前,也曾猶豫過。
因爲我的網站之前是隻是打算放flv的,所以就通過遮罩把播放器的外框做成圓角,但是筆者的視頻都不是自己做的,直接用人家網站上的。目前flv如此不流行的情況下,筆者要用到自己的網站上,就非得先把人家的視頻下到自己的機上,轉成flv,再上傳。或者好一點的,就是一邊上傳一邊轉格式。但是,很多時候,視頻數量很多,而且時間也不短,要更新一次,恐怕需要幾天時間,太慢了。
如果只複製視頻的地址,就可以把視頻更新到自己的網站上,那該多好啊。所以,結合WMP成爲筆者的首選,可是,要把這樣的播放器定製成別的形狀就難得要命了,哪怕定得好,也不知道怎麼樣才能讓播放器跟網頁縫合起來。
然而,筆者還是嘗試了,結果發現,好像那個尖角也沒有太大影響,於是就做下去了。但是,現在進度條還沒有做出來,然後,點裏頭的圖片,光盤都暫時沒有鏈接到視頻裏頭。自己感覺,特別是後兩者做起來會比較花時間,加上有人對我的教程期待已久,就先寫教程好了。
PS:其實WMP的代碼我也是在網上下一個來用的。
有個小尖角影響的播放器預覽:
[url=http://hbro.cincn.com/cindex.htm#contents=video]
[color="#333366"]http://hbro.cincn.com/cindex.htm#contents=video[/color]
[/url]
這裏,雙擊視頻窗口或者點十字按鈕都可以實現全屏播放,全屏後雙擊就可以恢復原來的大小。
爲了讓大家相信這一播放器確實可以播放除flv以外的WMP視頻格式(注意,RM,RMVB那些不是WMP視頻格式,不能在這裏播放),筆者又做了一個演示文檔,讓讀者可以自行在Flash的文本框裏輸入網址來播放。如果沒有安全影響的話,估計本地的也是可以播放,不過路徑最好使用file:///的那種格式。當然你也可以直接點選右側播放列表裏頭的視頻來測試。
演示播放器地址:
[url=http://hbro.cincn.com/hbro/course/flashwebplayer/player.html]
[color="#333366"]http://hbro.cincn.com/hbro/course/flashwebplayer/player.html[/color]
[/url]
因爲使用了WMP+Flash,所以基本上,整個播放器功能的實現都要通過JS,關於JS與AS的通訊,看下這帖子,筆者在這裏就不再重複了。
[url=http://bbs.blueidea.com/viewthread.php?tid=2668305&extra=page%3D5%26filter%3Dtype%26typeid%3D16]
[color="#333366"]http://bbs.blueidea.com/viewthre ... Dtype%26typeid%3D16[/color]
[/url]
現在,筆者先以一個簡單的功能爲例,說明Flash是怎麼樣控制視頻,並且視頻反過來如何改變Flash的當前狀態。
點播放列表的任一項目後,通過名爲setvideo的fscommand,把列表路徑傳到HTML裏,此時,JS獲取到路徑,就可以設置視頻的路徑了。在演示文檔裏,WMP播放器的實例名設爲video,那麼,在接收到fscommand以後,就可以作如下設置:
switch(command){
  case "setvideo":
    video.URL=args;
    break;
}
此時,如果大家耐心等待(時間由網速決定),將能等到視頻在WMP播放器裏播放了。但是,要讓用戶等待很長時間,又沒有任何提示的話,將讓瀏覽者不耐煩,因此,有必要給用戶一些提示,讓用戶看到希望。
如果大家都在線聽過歌或者看過視頻的話,相信都會看到一些提示如“正在連接”,“正在緩衝”等播放狀態的消息,那麼,我們自己能否獲取呢?答案是肯定的。正在緩衝,正在播放,那些狀態其實都能觸發WMP控件的一些事件,並且能爲我們所獲得。
本文轉自:http://www.5uflash.com/flashjiaocheng/Flashyuweb/838.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章