Merge branch 'master' of github.com:wangdoc/javascript-tutorial

This commit is contained in:
ruanyf
2018-08-05 11:46:52 +08:00
2 changed files with 32 additions and 10 deletions

View File

@@ -118,7 +118,36 @@ var song = new Audio([URLString]);
生成`HTMLAudioElement`实例以后,不用插入 DOM可以直接用`play()`方法在背景播放。
```javascript
var flush = new Audio('flush.wav');
flush.play();
```
var a = new Audio();
if (a.canPlayType('audio/wav')) {
a.src = 'soundeffect.wav';
a.play();
}
```
## 事件
`<video>`和`<audio>`元素有以下事件。
- loadstart开始加载媒体文件时触发。
- progress媒体文件加载过程中触发大概是每秒触发2到8次。
- loadedmetadata媒体文件元数据加载成功时触发。
- loadeddata当前播放位置加载成功后触发。
- canplay已经加载了足够的数据可以开始播放时触发后面可能还会请求数据。
- canplaythrough已经加载了足够的数据可以一直播放时触发后面不需要继续请求数据。
- suspend已经缓冲了足够的数据暂时停止下载时触发。
- stalled尝试加载数据但是没有数据返回时触发。
- play调用`play()`方法时或自动播放启动时触发。如果已经加载了足够的数据,这个事件后面会紧跟`playing`事件,否则会触发`waiting`事件。
- waiting由于没有足够的缓存数据无法播放或播放停止时触发。一旦缓冲数据足够开始播放后面就会紧跟`playing`事件。
- playing媒体开始播放时触发。
- timeupdate`currentTime`属性变化时触发每秒可能触发4到60次。
- pause调用`pause()`方法、播放暂停时触发。
- seeking脚本或者用户要求播放某个没有缓冲的位置播放停止开始加载数据时触发。此时`seeking`属性返回`true`。
- seeked`seeking`属性变回`false`时触发。
- ended媒体文件播放完毕时触发。
- durationchange`duration`属性变化时触发。
- volumechange音量变回或者静音时触发。
- ratechange播放速度或默认的播放速度变化时触发。
- abort停止加载媒体文件时触发通常是用户主动要求停止下载。
- error网络或其他原因导致媒体文件无法加载时触发。
- emptied由于`error`或`abort`事件导致`networkState`属性变成无法获取数据时触发。

View File

@@ -843,13 +843,6 @@ var obj = {
times: [1, 2, 3],
print: function () {
this.times.forEach(function (n) {
---
title: this 关键字
layout: page
category: oop
date: 2016-06-28
modifiedOn: 2016-06-28
---
console.log(this.name);
});
}