# WebAudio

模块 hilo/media/WebAudio 依赖 hilo/core/Class, hilo/util/util, hilo/event/EventMixin 源码 WebAudio.js
WebAudio声音播放模块。它具有更好的声音播放和控制能力，适合在iOS6+平台使用。 兼容情况：iOS6+、Chrome33+、Firefox28+支持，但Android浏览器均不支持。

### 属性概览

| 属性 | 定义于
--- | --- | ---
| autoPlay:Boolean 是否自动播放。默认为false。 | WebAudio
| duration:Number 音频的时长。只读属性。 | WebAudio
| loaded:Boolean 音频资源是否已加载完成。只读属性。 | WebAudio
| loop:Boolean 是否循环播放。默认为false。 | WebAudio
| muted:Boolean 是否静音。默认为false。 | WebAudio
| playing:Boolean 是否正在播放音频。只读属性。 | WebAudio
| src:String 播放的音频的资源地址。 | WebAudio
| volume:Number 音量的大小。取值范围：0-1。 | WebAudio
| isSupported static 浏览器是否支持WebAudio。 | WebAudio
| enabled static 浏览器是否已激活WebAudio。 | WebAudio

### 方法概览

| 方法 | 定义于
--- | --- | ---
| WebAudio(properties:Object) 构造函数 | WebAudio
| load() 加载音频文件。注意：我们使用XMLHttpRequest进行加载，因此需要注意跨域问题。 | WebAudio
| pause() 暂停音频。 | WebAudio
| play() 播放音频。如果正在播放，则会重新开始。 | WebAudio
| resume() 恢复音频播放。 | WebAudio
| setMute(muted) 设置是否静音。 | WebAudio
| setVolume(volume) 设置音量。 | WebAudio
| stop() 停止音频播放。 | WebAudio
| enable() static 激活WebAudio。注意：需用户事件触发此方法才有效。激活后，无需用户事件也可播放音频。 | WebAudio
| clearBufferCache(url:String) static 清除audio buffer 缓存。 | WebAudio

### 属性详情

autoPlay:Boolean
是否自动播放。默认为false。
duration:Number
音频的时长。只读属性。
[Static] enabled
浏览器是否已激活WebAudio。
[Static] isSupported
浏览器是否支持WebAudio。
loaded:Boolean
音频资源是否已加载完成。只读属性。
loop:Boolean
是否循环播放。默认为false。
muted:Boolean
是否静音。默认为false。
playing:Boolean
是否正在播放音频。只读属性。
src:String
播放的音频的资源地址。
volume:Number
音量的大小。取值范围：0-1。

### 构造函数

WebAudio(properties:Object)

parameters
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。

### 方法详情

[Static] clearBufferCache(url:String)
清除audio buffer 缓存。

parameters
url:String — audio的网址，默认清除所有的缓存

[Static] enable()
激活WebAudio。注意：需用户事件触发此方法才有效。激活后，无需用户事件也可播放音频。
load()
加载音频文件。注意：我们使用XMLHttpRequest进行加载，因此需要注意跨域问题。
pause()
暂停音频。
play()
播放音频。如果正在播放，则会重新开始。
resume()
恢复音频播放。
setMute(muted)
设置是否静音。

parameters
muted —

setVolume(volume)
设置音量。

parameters
volume —

stop()
停止音频播放。