日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搭建Servlet在线视频

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搭建Servlet在线视频 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個視頻flash上傳及在線播放,搞了我一天了,總算有點成果,但還有一些疑問沒有解決,現在發這篇隨筆,為的就是交流視頻在線上傳和觀看的一些問題。

?

在線編輯器使用FCKEditor,首先是修改FCKEditor的配置文件,目的是實現多格式播放和配置播放器。這方面網上的資料很多,很容易查到,下面補充上來吧。

?

***************************FckEditor上傳音頻視頻*****************************

???????? 軟件版本:FckEditor2.6.2;平臺:Windows XP;數據庫:MySQL。
1.? 分別打開editor/js文件夾下的fckeditorcode_ie.js、fckeditorcode_gecko.js文件。將代碼:
||/\.swf($|#|\?)/i.test(A.src)
替換為:
||/\.swf($|#|\?)/i.test(A.src)||/\.mpg($|#|\?)/i.test(A.src)||/\.asf($|#|\?)/i.test(A.src)||/\.wma($|#|\?)/i.test(A.src)
||/\.wmv($|#|\?)/i.test(A.src)||/\.avi($|#|\?)/i.test(A.src)||/\.mov($|#|\?)/i.test(A.src)||/\.mp3($|#|\?)/i.test(A.src)
||/\.rmvb($|#|\?)/i.test(A.src)||/\.mid($|#|\?)/i.test(A.src)
這段代碼用來判斷文件后綴名,當然文件格式可以自定義,不過要考慮和其他地方相吻合。

2. 打開/editor/dialog/fck_flash/fck_flash.js文件。

2.1 增加以下程序代碼,用來判斷文件后綴名:
function WinPlayer(url){
?var r, re;
?re = /.(avi|wmv|asf|wma|mid|mp3|mpg)$/i;
r = url.match(re);
return r;
}
function RealPlayer(url){
var r, re;
re = /.(.rm|.ra|.rmvb|ram)$/i;
r = url.match(re);
return r;
}
function QuickTime(url){
var r, re;
re = /.(mov|qt)$/i;
r = url.match(re);
return r;
}
function FlashPlayer(url){
var r, re;
re = /.swf$/i;
r = url.match(re);
return r;
}

?

2.2 替換兩個地方的代碼:一個在UpdatePreview()中,將:
SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;
替換為:
if(WinPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type', 'application/x-mplayer2' ) ;

}

if(RealPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type', 'audio/x-pn-realaudio-plugin' ) ;

}

if(QuickTime(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type', 'application/video/quicktime' ) ;

}

if(FlashPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ;

SetAttribute( e, 'pluginspage', 'http://www.macromedia.com/go/getflashplayer' ) ;

}

另一個地方在UpdateEmbed()中,將: SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;

SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;
替換為:
if(WinPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type' , 'application/x-mplayer2' ) ;

SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

}

if(RealPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type' , 'audio/x-pn-realaudio-plugin' ) ;

SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

}

if(QuickTime(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type' , 'video/quicktime' ) ;

SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ;

}

if(FlashPlayer(GetE('txtUrl').value)!=null){

SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;

SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;

}

?

3.打開/fckconfig.js文件,將:
FCKConfig.FlashUploadAllowedExtensions = ".(swf)$" ; // empty for all
替換為:
FCKConfig.FlashUploadAllowedExtensions = ".(swf|fla|mpg|asf|wma|wmv|avi|mov|mp3|rmvb|mid)$" ; // empty for all
????? 到此,基本功能已經完成。剩下的是一些細節的設置。

4. 其他設置

4.1 編輯框中文字的設置:打開/editor/lang/zh-cn.js 文件,將flash替換成想要顯示的文字。

4.2 默認的音頻視頻播放效果是循環、自動播放、帶操作menu的樣式,可以通過設置來顯示成想要的效果。方法還是在/editor/dialog/fck_flash/fck_flash.js文件,在UpdateEmbed()方法中,將對應的文件格式中的,
SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' )替換為:

SetAttribute( e, 'autostart', GetE('chkAutoPlay').checked ? 'false' : 'true' ) ;

?

但是一定要非常細心的配置,否則很容易失敗。我就是在這上面費了很多時間,最后還是為了盡快搞好,借用了別人配置好的編輯器。

?

這時如果不出意外的話,如果從服務器上傳名字里帶中文的視頻,則會遇到播放目錄文件名亂碼的問題。解決方法:

?

問題1:
當點擊“插入/編輯圖像”或者“插入/編輯Flash”按鈕時,在彈出的對話框中選擇上傳按鈕,如果上傳的文件名為中文時會出現亂碼。

解決辦法:
?? 找到FCKeditor.java解壓包中的src目錄下SimpleUploaderServlet.java做如下修改:
?? 找到該程序中DiskFileUpload upload = new DiskFileUpload(),然后在該行下面添加
upload.setHeaderEncoding("UTF-8"),重新編譯成class文件并利用WinRAR把該class文件
添加到FCKeditor-2.3.jar中相應的位置,然后覆蓋你的web項目中原來的jar包便可。

?

問題2:
?? 當點擊“插入/編輯圖像”或者“插入/編輯Flash”按鈕時,在彈出的對話框中使用瀏覽
服務器按鈕上傳中文文件時會出現亂碼。

解決辦法:
?? 和問題1的解決辦法基本一樣,只不過需要在ConnectorServlet.java中添加
upload.setHeaderEncoding("UTF-8")便可。


問題3:
?? 當點擊“插入/編輯圖像”或者“插入/編輯Flash”按鈕時,在彈出的對話框中點擊瀏覽
服務器按鈕,會彈出“瀏覽服務器”頁面,如果想在該頁面中使用Create New Folder按鈕
來創建一個中文目錄時,會出現中文目錄亂碼。

解決辦法:
?? web容器的編碼要與FCKeditor默認的編碼UTF-8一致,如果使用的是Tomcat,需修改
tomcat服務器中conf目錄下的server.xml。如下:
?? <Connector port="8080" maxHttpHeaderSize="8192"
?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
?????????????? enableLookups="false" redirectPort="8443" acceptCount="100"
?????????????? connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />
??? <Connector port="8009"
?????????????? enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="utf-8"/>
其實就是在原來的基礎上添加URIEncoding的屬性值為utf-8。

×?注:對于問題3,這種解決辦法不可取,最好不要去修改服務器的編碼,否則會影響到服務器上其它的工程。解決這個編碼的問題可以修改源代碼或者從新編寫一個類來處理。通過觀察打開的上傳瀏覽對話框可以找對對應的htm頁面和負責處理上傳文件名稱的com.fredck.FCKeditor.uploader. ConnectorServlet這個類,然后找到對應的參數,轉換編碼便可。如:String newFolderStr=request.getParameter("NewFolderName");

newFolderStr=new String(newFolderStr.getBytes("iso8859-1"),"utf-8");

?

?

我弄了一天,試了三種格式,但目前這個的東西只能看MPG,WMV格式的視頻文件,但是avi格式就只能聞其聲,不能見其圖了。

?

(不知道為什么,難道是播放器的問題,希望知道的朋友,告訴我。謝謝)

?

還有個疑問是,亂碼問題雖然解決了,但是我傳上去的中文名的文件,不能播放。很讓我郁悶。如果改成英文名或數字的都可以播放。

?

(不知道為什么,難道是配置文件出錯,希望知道的朋友,告訴我。謝謝)

?

還有就是我剛入門,對在線編輯器了解比較少,不知道其他的在線編輯器在在線視頻方面有沒有長處或者優點。

?

(希望前輩賜教)

?

其他的格式都沒有試(有些格式的視頻沒有,也懶得下),應該問題都不大。

?

而且聽說Java里可以寫命令行實現在線視頻格式轉換,這方面問題就要請教朱哥了。

?

希望盡快給予解答嘿嘿

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的搭建Servlet在线视频的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。