007_Buzz事件
1. 給音頻添加一個或多個事件的監聽函數。
sound.bind(event, callback)
group.bind(event, callback)
2. 給音頻添加一個或多個事件的執行一次的監聽函數。
sound.bindOnce(event, callback)
group.bindOnce(event, callback)
3. 解除綁定事件。
sound.unbind(event)
group.unbind(event)
4. 執行附加到事件的處理程序。請注意, 只觸發函數, 而不觸發本機事件。
sound.trigger(event)
group.trigger(event)
5. 事件列表
5.1.?emptied事件: 媒體已經空了; 例如, 如果媒體已加載(也可以是部分加載)或者加載函數被調用, 則發送此事件。
5.2.?timeupdate事件: 當前播放時間發生改變時調用。
5.3.?volumechange事件: 音量發生改變時調用。例如: 設置音量或者靜音屬性改變。
5.4.?loadstart事件: 開始加載音頻文件時調用。
5.5.?durationchange事件: 加載音頻文件獲取到播放時長或播放時長改變時調用。
5.6.?loadedmetadata事件: 音頻元數據加載完成時調用。
5.7.?progress事件: 定期通知音頻文件的下載進度。媒體文件已經下載的信息在緩存屬性里。
5.8.?suspend事件: 暫停加載媒體時發送; 這可能是因為下載已完成或由于任何其他原因暫停。
5.9.?loadeddata事件: 媒體的第一幀已完成加載。
5.10.?canplay事件: 當有足夠的數據可以播放媒體時發送, 至少播放幾幀。
5.11.?canplaythrough事件: 表示可以不中斷地播放整個媒體, 前提是下載速率至少保持在當前水平。
5.12.?play事件: 播放媒體時調用。
5.13.?playing事件: 媒體開始播放時調用。
5.14.?pause事件: 當暫停播放時調用。
5.15.?ended事件: 播放完成時調用。
5.16.?ratechange事件: 播放速度發生改變時調用。
5.17.?seeking事件: 尋址操作開始時調用(改變當前播放時間)。
5.18.?waiting事件: 在另一個操作完成之前被延遲時調用(例如發生尋址操作會等待)。
5.19.?seeked事件: 尋址操作完成時調用。
5.20.?error事件: 當發生錯誤時調用。
5.21.?sourceerror事件: 當源文件發生錯誤時調用。
5.22.?dataunavailable事件: 當準備狀態是數據不可用時調用。
5.23.?empty事件: 當音頻文件為空時調用。
6. 例子
<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>Buzz事件</title><script type="text/javascript" src="buzz.js"></script></head><body><script type="text/javascript">var menu = new buzz.sound("sounds/menu.mp3");// menu.load();menu.bind("canplay", function () {console.log("canplay");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("canplaythrough", function () {console.log("canplaythrough");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("dataunavailable", function () {console.log("dataunavailable");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("durationchange", function () {console.log("durationchange: " + this.getDuration());for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("emptied", function () {console.log("emptied");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("empty", function () {console.log("empty");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("ended", function () {console.log("ended");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("error", function () {console.log("error");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("sourceerror", function () {console.log("sourceerror");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("loadeddata", function () {console.log("loadeddata");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("loadedmetadata", function () {console.log("loadedmetadata");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("loadstart", function () {console.log("loadstart");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("pause", function () {console.log("pause");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("play", function () {console.log("play");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("playing", function () {console.log("playing");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("progress", function () {console.log("progress");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("ratechange", function () {console.log("ratechange");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("seeked", function () {console.log("seeked");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("seeking", function () {console.log("seeking");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("suspend", function () {console.log("suspend");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("timeupdate", function () {console.log("timeupdate: " + this.getTime());for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("volumechange", function () {console.log("volumechange: " + this.getVolume());for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});menu.bind("waiting", function () {console.log("waiting");for(let i = 0; i < arguments.length; i++){console.log(arguments[i]);}});function play(){menu.play();}function pause(){menu.pause();}function setVolume(){var volume = Math.floor(Math.random() * 100);menu.setVolume(volume);}function setSpeed(){menu.setSpeed(2);}function setPercent(){menu.setPercent(0);}function triggerWaitingEventFunction(){menu.trigger("waiting");}</script><button onclick="play()">播放</button><button onclick="pause()">暫停</button><button onclick="setVolume()">設置音量</button><button onclick="setSpeed()">設置播放速度</button><button onclick="setPercent()">以百分比設置播放時間位置</button><button onclick="triggerWaitingEventFunction()">觸發執行等待事件的函數</button></body> </html>總結
以上是生活随笔為你收集整理的007_Buzz事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 071_html语言代码
- 下一篇: 005_Buzz播放音频