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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

基于video.js 的在线播放功能

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于video.js 的在线播放功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 因為在此次項目中需要實現在線播放視頻的效果. 所以上網百度了一下相關的插件, 最后決定選用基于html5的video.js插件來實現.

video.js也是開源免費的,下載十分方便.?

  • ? ?首先下載 video.js插件 ,下載地址http://download.csdn.net/detail/tanksyg/8104769
  • ? ?下載之后解壓, 主要用到的資源文件是?video.js ,?video-js.min.css.在html 或 jsp頁面首先導入這兩個資源文件

  • <link href="${rc.contextPath}/statics/css/video-js.min.css" rel="stylesheet"><script src="${rc.contextPath}/statics/libs/video.min.js"></script>

    以下是官網上給出的簡單使用方法, 因為我們只是要求能在線播放就行, 對其他樣式什么的要求不大,所以

    個簡單例子就足夠用了.

    <!DOCTYPE HTML> <html> <head> <title>Video.js Test Suite</title> <link href="//vjs.zencdn.net/4.10/video-js.css" rel="stylesheet"> <script src="//vjs.zencdn.net/4.10/video.js"></script> </head> <body> <video id="example_video_1" class="video-js vjs-default-skin" controls width="640" height="264"> <source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' /> </video>? </body>? </html>


    因為是web項目播放的視頻肯定是在服務器中的,上述例子中主要是根據source的src找到資源的播放

    地址,從而進行播放.?

    所以首先要找到的就是服務器上,視頻的相對地址.這點非常容易實現,下面這樣應該就能獲取到的

    視頻的path


    String path = request.getSession().getServletContext().getRealPath("/"); path = path + "resources\\" + "";


    然后就是將其轉化為相應的視頻流,寫入到reponse中,返回請求.下面是此方法的完整代碼

    @RequestMapping("/getVideo")public void getVideo(HttpServletRequest request, HttpServletResponse response) {String transcode = request.getParameter("transcode");String path = request.getSession().getServletContext().getRealPath("/");path = path + "resources\\" + transcode + "\\videos\\1\\";File file0 = new File(path);File[] fielList = file0.listFiles();String fileName = null;for(int i = 0; i < fielList.length; i++){fileName = fielList[i].getName();}path = path + fileName;File file = new File(path);InputStream in = null;ServletOutputStream out = null;try {in = new FileInputStream(file);out = response.getOutputStream();byte[] buffer = new byte[4 * 1024];int length;while ((length = in.read(buffer)) > 0) {out.write(buffer, 0, length);}} catch (FileNotFoundException e) {System.out.println("文件讀取失敗,文件不存在");e.printStackTrace();} catch (IOException e) {System.out.println("文件流輸出異常");e.printStackTrace();} finally {try {in.close();out.close();} catch (IOException e) {System.out.println("文件流關閉異常");e.printStackTrace();}}}



    最后一步就是設置src的值通過請求調用controller中的此方法,從而實現在線播放視頻的效果.因為項目

    用的是html頁面,不是jsp頁面所以只能在js中實現請求controller的方法.

    一開始的想法本來是直接將src設置為相對應的請求方法, 但是并沒有達到預期效果, 后來將src地址寫死測,試了一下,是可以播放的. 所以方法應該是正確的,

    但可能是頁面初始化或其他的原因, 導致并沒有調用相應的方法。

    $("#my-player").find("source").attr("src", "/zhzf/videomanage/getVideo?transcode=" + transcode);

    接著又試了幾種其他的方法, 也沒能成功實現. 最后直接用jQuery將頁面上對應的那段html代碼直接在js中賦值,成功實現了效果。

    var modalContent = '<video id="my-player" style="width: 996px; height:600px;" class="video-js" controls preload="auto" poster="" data-setup="{}">'+ '<source src="/zhzf/videomanage/getVideo?transcode=' + transcode + '" type="video/mp4">'+ '</source><p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that'+ '<a href="#" target="_blank">supports HTML5 video</a></p></video>';$('#videoModal').html(modalContent);

    總結

    以上是生活随笔為你收集整理的基于video.js 的在线播放功能的全部內容,希望文章能夠幫你解決所遇到的問題。

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