文章出處
文章列表
對于一個成功的產品,它是對外封閉的,但又是對外開放的,這句話并不矛盾,讓我來說一下,說它對外封閉是因為它本身的代碼不允許你去修改,而說它開放,是因為它為我們定義了很多API,或者叫回調方法,對于jwplayer來說,它為我們提供了很多js的回調方法(事件),它被包含在events屬性上的.
應用場合
播放時記錄當前視頻的時間,播放完成時寫入完成的時間,像這些功能,我們都可以通過事件回調的方法解決,即為events屬性賦相應的值.
注意
測試時,jwplayer需要在正式網站上測試,而本地打開時,它的events屬性是不啟作用的
events 實例
var player = jwplayer("mediaplayer").setup({ flashplayer: "player.swf", file: 'http://localhost/222.mp4', autostart: "true", bufferlength: '20', width: '400', height: '400', image: '111.jpg', events: { onComplete: function () { console.log("播放結束!!!"); }, onVolume: function () { console.log("聲音大小改變!!!"); }, onReady: function () { console.log("準備就緒!!!"); }, onPlay: function () { console.log("開始播放!!!"); }, onPause: function () { console.log("暫停!!!"); }, onBufferChange: function () { console.log("緩沖改變!!!"); }, onBufferFull: function () { console.log("視頻緩沖完成!!!"); }, onError: function (obj) { console.log("播放器出錯!!!" + obj.message); }, onFullscreen: function (obj) { if (obj.fullscreen) { console.log("全屏"); } else { console.log("非全屏"); } }, onMute: function (obj) { console.log("靜音/取消靜音") } } });
其它回調方法
player.onBufferChange(function () { alert("緩沖改變!!!"); }); player.onBufferFull(function () { alert("視頻緩沖完成!!!"); }); player.onError(function (obj) { alert("播放器出錯!!!" + obj.message); }) player.onFullscreen(function (obj) { if (obj.fullscreen) { alert("全屏"); } else { alert("非全屏"); } }); player.onMute(function (obj) { }) // obj. mute是否靜音 player.onPlaylist(function (obj) { //視頻列表載入完成 alert(obj.playlist[0]['file']); }); var callback = function () { alert("callback");};//定義一個回調方法 player.onPlaylistItem(callback) // 開始播放一個視頻時觸發obj.index為視頻索引 player.onReady(callback) //準備就緒 player.onResize(callback) //obj.width obj.height 寬高 //進入播放時觸發obj.oldstate 值:從BUFFERING PAUSE狀態進入播放狀態 player.onPlay(callback) //進入暫停obj.oldstate 值1:從PLAYING BUFFERING狀態進入暫停 player.onPause(callback) player.onBuffer(callback) //進入加載obj.oldstate 值PLAYING, PAUSED or IDLE player.onIdle(callback) //進入空閑obj.oldstate 值PLAYING, PAUSED or BUFFERING. player.onComplete(callback) //結束播放 player.onVolume(callback) //obj.volume player.onPlay(function () { console.log(this.getPosition()); });
技巧
我們看到上面的player是它當前的jwplayer對象,有了這個對象,我們就可以在程序的其它位置調用jwplayer的相關回調方法了,如果你沒有定義player對象,也可以通過索引
的方式去訪問jwplayer實例,如jwplayer(0)表示第一個jwplayer對象.
相關截圖
文章列表
全站熱搜