Hilo游戏引擎——media(媒体模块)

media(媒体模块)

HTMLAudio


HTMLAudio声音播放模块。此模块使用HTMLAudioElement播放音频。 使用限制:iOS平台需用户事件触发才能播放,很多Android浏览器仅能同时播放一个音频。

构造函数

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

属性概览

属性概览

autoPlay:Boolean
是否自动播放。默认为false。

duration:Number
音频的时长。只读属性。

loaded:Boolean
音频资源是否已加载完成。只读属性。

loop:Boolean
是否循环播放。默认为false。

muted:Boolean
是否静音。默认为false。

playing:Boolean
是否正在播放音频。只读属性。

src:String
播放的音频的资源地址。

volume:Number
音量的大小。取值范围:0-1。

isSupported
static 浏览器是否支持HTMLAudio。

方法概览

HTMLAudio(properties:Object)
构造函数

load()
加载音频文件。

pause()
暂停音频。

play()
播放音频。如果正在播放,则会重新开始。 注意:为了避免第一次播放不成功,建议在load音频后再播放。

resume()
恢复音频播放

setMute(muted)
设置静音模式。注意: iOS设备无法设置静音模式。
muted —静音

setVolume(volume)
设置音量。注意: iOS设备无法设置音量。
volume —音量

stop()
停止音频播放。

WebAudio(声音播放模块)


WebAudio声音播放模块。它具有更好的声音播放和控制能力,适合在iOS6+平台使用。 兼容情况:iOS6+、Chrome33+、Firefox28+支持,但Android浏览器均不支持。

属性概览

autoPlay:Boolean
是否自动播放。默认为false。

duration:Number
音频的时长。只读属性。

loaded:Boolean
音频资源是否已加载完成。只读属性。

loop:Boolean
是否循环播放。默认为false。

muted:Boolean
是否静音。默认为false。

playing:Boolean
是否正在播放音频。只读属性。

src:String
播放的音频的资源地址。

volume:Number
音量的大小。取值范围:0-1。

isSupported
浏览器是否支持WebAudio。

enabled
浏览器是否已激活WebAudio。

方法概览

WebAudio(properties:Object)
构造函数
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。

load()
加载音频文件。注意:我们使用XMLHttpRequest进行加载,因此需要注意跨域问题。

pause()
暂停音频。

play()
播放音频。如果正在播放,则会重新开始。

resume()
恢复音频播放。

setMute(muted)
设置是否静音。

setVolume(volume)
设置音量。

stop()
停止音频播放。

enable()
激活WebAudio。注意:需用户事件触发此方法才有效。激活后,无需用户事件也可播放音频。

clearBufferCache(url:String)
清除audio buffer 缓存。
url:String — audio的网址,默认清除所有的缓存

WebSound模块

声音播放管理器。
使用示例:

var audio = WebSound.getAudio({
    src: 'test.mp3',
    loop: false,
    volume: 1
}).on('load', function(e){
    console.log('load');
}).on('end', function(e){
    console.log('end');
}).play();

方法概览

enableAudio()
激活音频功能。注意:需用户事件触发此方法才有效。目前仅对WebAudio有效。

WebSound
getAudio(source:String|Object, preferWebAudio:Boolean):WebAudio|HTMLAudio
获取音频对象。默认优先使用 WebAudio

removeAudio(source:String|Object)
删除音频对象。

方法详情

enableAudio()
激活音频功能。注意:需用户事件触发此方法才有效。目前仅对WebAudio有效。

getAudio(source:String|Object, preferWebAudio:Boolean):WebAudio|HTMLAudio
获取音频对象。默认优先使用 WebAudio
source:String|Object — 若source为String,则为音频src地址;若为Object,则需包含src属性。
preferWebAudio:Boolean Optional, Default: true — 是否优先使用WebAudio,默认 true 。
return(返回值)
WebAudio|HTMLAudio — 音频播放对象实例。

removeAudio(source:String|Object)
删除音频对象。
source:String|Object — 若source为String,则为音频src地址;若为Object,则需包含src属性。

renderer 渲染器模块
CanvasRenderer 画布渲染器
canvas画布渲染器。所有可视对象将渲染在canvas画布上。舞台Stage会根据参数canvas选择不同的渲染器,开发者无需直接使用此类。

属性概览

自带属性

context:CanvasRenderingContext2D
canvas画布的上下文。只读属性。

继承属性

canvas:Object
渲染器对应的画布。它可能是一个普通的DOM元素,比如div,也可以是一个canvas画布元素。只读属性。

renderType:String
渲染方式。只读属性。

stage:Object
渲染器对应的舞台。只读属性。

方法概览

自带方法

CanvasRenderer(properties:Object)
构造函数

继承方法

clear(x:Number, y:Number, width:Number, height:Number)
清除画布指定区域。需要子类来实现。
x:Number — 指定区域的x轴坐标。
y:Number — 指定区域的y轴坐标。
width:Number — 指定区域的宽度。
height:Number — 指定区域的高度。

draw(target:View)
绘制可视对象。需要子类来实现。
target:View — 要绘制的可视对象。

endDraw(target:View)
结束绘制可视对象后的后续处理方法。需要子类来实现。
target:View — 要绘制的可视对象。

hide()
隐藏可视对象。需要子类来实现。

remove(target:View)
从画布中删除可视对象。注意:不是从stage中删除对象。需要子类来实现。

resize(width:Number, height:Number)
改变渲染器的画布大小。
width:Number — 指定渲染画布新的宽度。
height:Number — 指定渲染画布新的高度。

startDraw(target:View)
为开始绘制可视对象做准备。需要子类来实现。

transform()
对可视对象进行变换。需要子类来实现。

DOMRenderer
DOM+CSS3渲染器。将可视对象以DOM元素方式渲染出来。舞台Stage会根据参数canvas选择不同的渲染器,开发者无需直接使用此类。

属性概览

它只有继承属性

canvas:Object
渲染器对应的画布。它可能是一个普通的DOM元素,比如div,也可以是一个canvas画布元素。只读属性。

renderType:String
渲染方式。只读属性。

stage:Object
渲染器对应的舞台。只读属性。

方法概览
自带一个构造方法
DOMRenderer(properties:Object)
构造函数
properties:Object — 创建对象的属性参数。可包含此类所有可写属性。

继承方法和canvasRenderer一样

发表评论

邮箱地址不会被公开。 必填项已用*标注