閱讀668 返回首頁    go 小米淨水器


Web播放器__視頻播放_使用手冊_媒體轉碼-阿裏雲

Prismplayer是一套在線視頻播放技術方案,同時支持Flash和Html5兩種播放技術,可對播放器進行功能配置和皮膚定製。

支持格式

  • Flash 模式:

    • 視頻格式: mp4、flv、m3u8、rtmp、mp3
    • 視頻編碼: H.264
    • 音頻編碼: AAC、MP3
  • HTML5 模式:

    • 視頻格式: mp4、m3u8
    • 視頻編碼: H.264
    • 音頻編碼: AAC

      m3u8格式播放依賴調用端瀏覽器支持情況:iOS全係列支持,Android 4.0及以上版本支持。

在線定製

媒體轉碼控製台提供了播放器的定製功能,提供Flash、Html5以及自適應三種基於prismplayer的播放器。

無標題.png

播放器詳細說明

資源文件

Prismplayer不依賴於任何的前端js庫,隻需要在頁麵中引用如下js文件,就可以進行播放器的初始化:

  1. https://g.alicdn.com/de/prismplayer/1.5.4/prism-min.js

這個文件同時包含了Flash和Html5跨終端自適應的邏輯。如果您隻是想使用其中一種播放技術,也可以隻引用對應技術的js文件,從而獲得更小的文件體積:

Flash版本:

  1. https://g.alicdn.com/de/prismplayer/1.5.4/prism-flash-min.js

Html5版本:

  1. https://g.alicdn.com/de/prismplayer/1.5.4/prism-h5-min.js

如果您的使用場景需要用到html5播放器,請額外引用css文件:

  1. https://g.alicdn.com/de/prismplayer/1.5.4/skins/default/index-min.css

一個簡單的使用實例

提供一個最簡單的使用實例,初始化播放器,監聽某個dom元素的點擊事件來觸發調用播放器的接口方法,同時對播放器暴露的事件進行監聽。

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>測試頁麵</title>
  6. <link rel="stylesheet" href="//g.alicdn.com/de/prismplayer/1.5.4/skins/default/index.css" />
  7. <script type="text/javascript" src="//g.alicdn.com/de/prismplayer/1.5.4/prism-min.js"></script>
  8. </head>
  9. <body>
  10. <div id="J_prismPlayer" class="prism-player"></div>
  11. <!— prism-player為h5播放器皮膚的鉤子類名,請務必加上 —>
  12. <button id="J_clickToPlay" type="button">播放</button>
  13. <script>
  14. // 初始化播放器
  15. var player = new prismplayer({
  16. id: "J_prismPlayer", // 容器id
  17. source: "https://cloud.video.taobao.com/play/u/2554695624/p/1/e/6/t/1/fv/102/28552077.mp4",// 視頻地址
  18. autoplay: false, //自動播放:否
  19. width: "100%", // 播放器寬度
  20. height: "400px" // 播放器高度
  21. });
  22. var clickDom = document.getElementById("J_clickToPlay");
  23. clickDom.addEventListener("click", function(e) {
  24. // 調用播放器的play方法
  25. player.play();
  26. });
  27. // 監聽播放器的pause事件
  28. player.on("pause", function() {
  29. alert("播放器暫停啦!");
  30. });
  31. </script>
  32. </body>

播放器配置屬性

  • id,{String},播放器外層容器的dom元素id

  • source, {String}, 視頻播放地址url(1)單獨url;(2)支持多碼流切換:source:'{"UD":"url_UD","HD":"url_HD","SD":"url_SD","LD":"url_LD"}',暫時支持hls與flv(mp4暫未開放);

  • width,{String},播放器寬度,可形如’100%’或者’100px’

  • height,{String},播放器高度,可形如’100%’或者’100px’

  • preload,{Boolean},播放器自動加載,目前僅h5可用

  • cover, {String}, 播放器默認封麵圖片,請填寫正確的圖片url地址

  • isLive,{Boolean},播放內容是否為直播,直播時會禁止用戶拖動進度條

  • autoplay,{Boolean},播放器是否自動播放,html5受瀏覽器限製,大多數情況下該配置會失效

  • from,{String},來源標識,可自定義,主要用於日誌記錄數據收集(建議用戶填入自己業務名稱,便於後續播放量統計)。

  • trackLog, {Boolean},是否需要進行用戶行為日誌打點,默認為true

  • skinRes,{Url},皮膚圖片,不建議隨意修改該字段,如要修改,請參照Web播放器皮膚定製

  • skinLayout,{Array | Boolean},功能組件布局配置,不傳該字段使用默認布局,傳false隱藏所有功能組件,功能與皮膚定製方法請看下一節

  • notShowTips,{Boolean},不顯示控製Tips(按鈕提示)

  • showBarTime,{String},控製欄自動隱藏時間(ms)

  • waterMark,{url|pos|size|alpha},添加水印,目前僅支持flash,url:水印圖片(jpg/png);pos:位置(TL/TR/BL/BR);size: logo寬度占播放器比例(0-1,默認0.2);alpha:透明度(0-1,默認1)。示例:waterMark:"logo.jpg|TL|0.15|0.5"

  • extraInfo,{“a_key”:”a_value”,”b_key”:”b_value”},類型為json串,定製性接口參數,目前支持

    1. "fullTitle":"測試頁麵", //全屏時顯示視頻標題(目前僅flash支持);
    2. "m3u8BufferLength":"30", //播放m3u8時加載緩存ts文件長度(目前僅flash支持);
    3. "liveStartTime":"2016/08/17 12:00:00", //直播開始時間,用於提示直播未開始(目前僅flash支持);
    4. "liveStopTime":"2016/08/17 14:00:00", //直播結束時間,用於提示直播結束(目前僅flash支持);
    5. "liveRetry":1, //直播流中斷是否重試;

播放器定製

prismplayer使用skinResskinLayout兩個配置項實現播放器功能與皮膚的定製。

skinRes提供了播放器使用的皮膚圖片地址,我們在實現層麵上對皮膚圖片進行預處理,從而提取出各個功能組件的ui皮膚和尺寸。

skinLayout的配置方式一般如下:

  1. skinLayout: [
  2. {
  3. "name":"bigPlayButton",
  4. "align":"blabs",
  5. "x":30,
  6. "y":80
  7. },
  8. {
  9. "name":"controlBar",
  10. "align":"blabs",
  11. "x":0,
  12. "y":0,
  13. "children":[
  14. {
  15. "name":"progress",
  16. "align":"tlabs",
  17. "x":0,
  18. "y":0
  19. }
  20. ]
  21. }
  22. ]

skinLayout中的每一個元素表示一個功能組件的配置,播放器隻會初始化進行了配置的功能組件。每個功能組件有以下配置項:

  • name,{String},功能組件的名稱,目前可用的組件列表請見下文

  • align,{String},組件相對於父級組件的對齊方式,可選項有:

    • 'cc',相對於父組件絕對居中

    • 'tl',相對於父組件左上對齊,受同級組件的占位影響,以組件的相對位置左上角作為偏移原點,可類比於css中的float: left

    • 'tr',相對於父組件右上對齊,受同級組件的占位影響,以組件的相對位置右上角作為偏移原點,可類比於css中的float: right

    • 'tlabs',相對於父組件左上絕對對齊,不受同級組件的占位影響,以父組件左上角作為偏移原點

    • 'trabs',相對於父組件右上絕對對齊,不受同級組件的占位影響,以父組件右上角作為偏移原點

    • 'blabs',相對於父組件左下絕對對齊,不受同級組件的占位影響,以父組件左下角作為偏移原點

    • 'brabs',相對於父組件右下絕對對齊,不受同級組件的占位影響,以父組件右下角作為偏移原點

  • x,{Number},水平方向偏移量,偏移原點參考align的說明,cc時無效

  • y,{Number},垂直方向偏移量,偏移原點參考align的說明,cc時無效

  • children,{Array},組件的子組件列表

播放器功能組件

  • bigPlayButton,大播放按鈕

  • controlBar,控製麵板

  • progress,播放進度條

  • playButton,播放按鈕,默認從屬於controlBar

  • timeDisplay,播放時間,默認從屬於controlBar

  • fullScreenButton,全屏按鈕,默認從屬於controlBar

  • setButton,設置按鈕,默認從屬於controlBar,隻有flash生效

  • volume,音量控製,默認從屬於controlBar

  • fullControlBar,全屏頂部麵板,隻有flash生效

  • fullTitle,視頻標題,默認從屬於fullControlBar,隻有flash生效

  • fullNormalScreenButton,取消全屏按鈕,默認從屬於fullControlBar,隻有flash生效

  • fullTimeDisplay,全屏下當前時間,默認從屬於fullControlBar,隻有flash生效

  • fullZoom,屏幕縮放,默認從屬於fullControlBar,隻有flash生效

skinLayout支持樹形的嵌套定義,從實現上支持各個組件的嵌套關係和順序調整。但我們約定controlBarfullControlBar才允許二級嵌套。同時,在完全開放定製功能之前,我們也不建議您過度修改skinLayout,當前版本我們僅對外提供功能組件的顯示隱藏定製。

播放器API

  • play(),播放視頻

  • pause(),暫停視頻

  • seek(time),跳轉到某個時刻進行播放,time的單位為秒

  • getCurrentTime(),獲取當前的播放時刻,返回的單位為秒

  • getDuration(),獲取視頻總時長,返回的單位為秒

  • getVolume(),獲取當前的音量,返回值為0-1的實數,ios和部分android會失效

  • setVolume(vol),設置音量,vol為0-1的實數,ios和部分android會失效

  • loadByUrl(url,time),直接播放視頻urltime為可選值(單位秒)目前隻支持同種格式(mp4/flv/m3u8)之間切換,暫不支持直播rtmp流切換

  • setPlayerSize(w,h),設置播放器大小,w,h可分別為400px像素或60%百分比,chrome瀏覽器下flash播放器分別不能小於397x297

播放器對外事件

  • ready,播放器初始化完畢可以播放視頻時觸發

  • uiReady,播放器初始化按鈕渲染完畢(播放器UI初始設置需要此事件後觸發,避免UI被初始化所覆蓋)

  • play,視頻由暫停恢複為播放時觸發

  • pause,視頻暫停時觸發

  • ended,當前視頻播放完畢時觸發

  • liveStreamStop,直播流中斷時觸發,m3u8/flv/rtmp在重試5次未成功後觸發,提示上層流中斷或需要重新加載視頻(PS:m3u8一直自動重試,不需要上層添加重試)

  • m3u8Retry,m3u8直播流中斷後重試事件,每次斷流隻觸發一次

  • hideBar,控製欄自動隱藏事件

如果問題還未能解決,請聯係售後技術支持

最後更新:2016-12-14 16:19:03

  上一篇:go 控製台使用幫助__使用手冊_媒體轉碼-阿裏雲
  下一篇:go Web播放器皮膚定製__視頻播放_使用手冊_媒體轉碼-阿裏雲