今天來介紹 clappr 播放器
clappr 是一款開源播放器,並可透過 Plugin 支援RTMP、DASH 與 FLV ,這個播放器的特色是:
CDN
<script src="https://cdn.jsdelivr.net/npm/clappr@latest/dist/clappr.min.js" type="text/javascript" ></script>
HTML
<div id="player"></div>
JS
const player = new Clappr.Player({
source: "http://www.html5videoplayer.net/videos/toystory.mp4",
parentId: "#player"
});
說明:
建立Clappr播放器的方式很簡單,new 一個新 Clappr.Player
物件 ,在 new 的時候傳入一個物件,可以替該物件帶入其他 config
屬性參數,這裡以 source
與 parentId
為例。
parentId
屬性值為HTML欲綁定 <Tag>
的 id,如果不傳入parentId
屬性,
也可在new Clappr.Player()
下面用
Clappr物件.attachTo( 欲綁定DOM節點 );
的寫法。
config 有一些參數可選:
屬性 | 型態 | 描述 |
---|---|---|
source | (字串)影片路徑 | 影片路徑 |
poster | (字串)圖片路徑 | 影片播放前的靜態圖片路徑 |
width | 數值 | 播放器寬度 |
height | 數值 | 播放器高度 |
autoPlay | true、false | 是否自動播放 ( 預設 false ) |
preload | true、false | 是否在背景預先加載影片 |
mute | true、false | 是否靜音 |
persistConfig | true、false | 是否以 localStorage 記錄當前音量大小(下次載入其他影片時聲音大小會保留) |
events | 物件(見下面說明) | 事件監聽 |
其他可帶入屬性文件見此 | ||
至此影片便建立完成。 |
clappr 的事件 API 也很簡單,可以在new Clappr.Player()
建立物件時,在裏頭帶入 events 屬性,其值為一個物件,該物件中能帶入監聽事件觸發時執行的 callback 函式。
const player = new Clappr.Player({
events: {
onReady: () => { //...做某件事 },
onPause: () => { //...做某件事 }
}
})
這裡列出幾個常用的 Event 事件
事件名 | 描述 |
---|---|
onReady | 播放器初始化建立完觸發 |
onPlay | 播放時觸發 |
onPause | 暫停時觸發 |
onSeek | 滑動時間條時觸發 |
onEnded | 播放結束時觸發 |
onError | 播放出錯(載入或程式錯誤)觸發 |
其他可帶入事件與callback文件見此 |
clappr 也提供了不少方法,這裡列出幾個常用的:
方法 | 描述 |
---|---|
.play( ) | 播放 |
.pause( ) | 暫停 |
.stop( ) | 停止 |
.mute( ) | 靜音 |
.isPlaying( ) | 檢查是否播放(回傳true或false) |
.load( src ) | src為影片連結,播放器會將影片連結切換成src |
參考
clappr Github
clappr Events API
clappr Plugins