讓CKEditor支持FLV視頻播放


平時都是做C/S開發,最近需要維護一個協會門戶網站。

文章編輯使用CKEditor 3.3.2 + ckfinder 2.0的方案。可是這種方案居然不支持FLV視頻播放,度娘說以前的老版本是支持的,這到了新版本咋反而不支持了呢。

網上給出的方案都是為CKEditor開發FLV視頻播放插件,最初采用了這種方案,但是都沒能實現,不知道是哪出了問題,可能是給出的方案本身有bug。

無奈,自己琢磨有沒有別的辦法。難道非得寫插件么?No!

經過測試,發現只需要一個支持播放FLV視頻的SWF播放器,然后對CKEditor 生成的代碼稍作修改即可。

CKEditor 生成的代碼如下。

<embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="/flash/material/2014/04/1.flv" type="application/x-shockwave-flash">

</embed>

只需要修改為下面這樣即可播放FLV視頻

<embed pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="flvplayer.swf?vcastr_file=/flash/material/2014/04/1.flv" type="application/x-shockwave-flash">

</embed>

這里flvplayer.swf 指的是flvplayer.swf 的完整路徑名。

     

接下來只要對CKEditor稍作修改就能生成我們想要的代碼了 。

首先,將flvplayer.swf 播放器拷貝到如下圖所示的flash目錄下。打開flash目錄下的dialogs目錄,找到flash.js 文件,這就是我們要修改的文件。

     

你如果打開了這個文件,會發現無從下手,因為這個是壓縮后的文件。

我們還得去_source 目錄下找到未壓縮的源文件,找到打開如下。

     

看了上面的代碼,我們發現只要對embed 標簽的src 屬性值進行修改即可。但是和embed 標簽相關的很多,該從哪下手呢。

經過很多次調試,定位到了166行。166行中的value就是src 屬性的值,對它進行修改就可以了。

在"embedNode.setAttribute(attrDef.name, value);"之前加上這么一個判斷就行了。

if (attrDef.name === "src") {

value = "/Ck/ckeditor/plugins/flash/Flvplayer.swf?vcastr_file=" + value;

}

     

     

然后,我們對修改后的js文件進行壓縮並替換plugins下flash中的相應文件即可。

播放器效果圖如下,還不錯吧。當然,播放器還有一些參數可以設置。

例如:

autostart (是否允許自動播放,"true"或者"false")

image (未播放時的預覽圖片,只支持JPEG格式)

repeat (是否重復播放)

clicktext (開始時顯示的文字,默認是"click to play")

想了解更多的參數,問度娘吧。

大功告成。是不是很簡單。

可能還有更好的方法,歡迎大家拍磚。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM