Crafty.audio

添加声音文件并播放它们。选择浏览器支持的最佳格式。由于HTML5音频的特性,跨浏览器功能需要三种音频文件。这些格式是MP3,OGG和WAV。 声音在停止之前不会静音,非暂停状态下也不会静音。 当使用 Crafty.pause() 暂停时声音就不具有任何效果了。

可以同时播放的声音是 Crafty.audio.maxChannels 所定义的最大数量。默认值是7。

方法

Back to top

Crafty.audio.add()

public this Crafty.audio.add(String id, String url)
id

用来引用音频的字符串

url

指向声音文件的字符串。

public this Crafty.audio.add(String id, Array urls)
urls

指向同一个声音的不同格式的URL数组,选择第一个可以播放的声音。

public this Crafty.audio.add(Object map)
map

键值对,其中键为id,值为 urlurls

加载一个要播放的声音。由于HTML5音频的特性,跨浏览器功能需要三种音频文件。这些格式是MP3,OGG和WAV。

通过URL数组将决定浏览器可以播放哪种格式,选择的文件会覆盖其他的文件。

接受一个对象,其中键是音频名称,URL或URL数组(确定要使用的类型)。

当你使用Crafty.audio.play时,ID将指向你所要使用的声音

例子

//adding audio from an object
Crafty.audio.add({
  shoot: ["sounds/shoot.wav",
          "sounds/shoot.mp3",
          "sounds/shoot.ogg"]
});

//adding a single sound
Crafty.audio.add("walk", [
"sounds/walk.mp3",
"sounds/walk.ogg",
"sounds/walk.wav"
]);

//only one format
Crafty.audio.add("jump", "sounds/jump.mp3");
Back to top

Crafty.audio.create()

public this Crafty.audio.create(String id, String url)
id

用来引用声音的字符串。

url

指向声音文件的字符串。

使用给定的ID和资源创建音频时。Crafty.audio.add 是更灵活的接口,它允许跨浏览器兼容性。

如果不支持声音文件扩展名,则返回false;否则返回音频资源。

Back to top

Crafty.audio.isPlaying()

public Boolean Crafty.audio.isPlaying(string ID)
{string} id

音频对象的ID

[Returns]

a Boolean indicating whether the audio is playing or not

检查给定ID的音频是否正在播放(至少在一个频道上)。

例子

var isPlaying = Crafty.audio.isPlaying('music');
Back to top

Crafty.audio.mute()

public this Crafty.audio.mute()

静音所有正在播放的音频实例。

例子

Crafty.audio.mute();
Back to top

Crafty.audio.pause()

public this Crafty.audio.pause(string ID)
{string} id

要暂停的音频对象ID

暂停ID参数指定的音频实例

例子

Crafty.audio.pause('music');
Back to top

Crafty.audio.play()

public this Crafty.audio.play(String id)
public this Crafty.audio.play(String id, Number repeatCount)
public this Crafty.audio.play(String id, Number repeatCount, Number volume)
id

用来引用声音的字符串

repeatCount

重复文件的次数,其中- 1代表永远重复。

volume

卷可以是0到1之间的数字。

[Returns]

用于播放声音的 audio 元素。当因为缺失开启频道而调用失败时返回 Null.

将会播放之前使用ID调用 Crafty.audio.add 的音频。 默认最大5个频道,以便相同的声音可以同时播放,除非所有的频道都在播放。

注意HTML5音频的实现充其量是漏洞百出的。

例子

Crafty.audio.play("walk");

//play and repeat forever
Crafty.audio.play("backgroundMusic", -1);
Crafty.audio.play("explosion",1,0.5); //play sound once with volume of 50%
Back to top

Crafty.audio.remove()

public this Crafty.audio.remove([String id])
id

用来引用声音的字符串。

将停止声音并删除对音频对象的所有引用,允许浏览器释放内存。如果没有id,所有的声音都将被删除。

这个函数使用在 Crafty.path 中设置的音频路径是为了从资源对象中移除音频。

例子

Crafty.audio.remove("walk");
Back to top

Crafty.audio.setChannels()

public this Crafty.audio.setChannels(Number n)
n

最大的频道数

Back to top

Crafty.audio.stop()

public this Crafty.audio.stop([Number ID])

停止播放声音。如果没有设置id,则停止播放的所有声音。

例子

//all sounds stopped playing now
Crafty.audio.stop();
Back to top

Crafty.audio.supports()

public this Crafty.audio.supports(String extension)
extension

用于检查音频支持情况的文件扩展名

如果浏览器认为它可以播放给定的文件类型,则返回true,否则为false。

Back to top

Crafty.audio.toggleMute()

public this Crafty.audio.toggleMute()

静音或取消静音每个音频实例。在暂停或播放根据状态切换。

例子

//toggle mute and unmute depending on current state
Crafty.audio.toggleMute();
Back to top

Crafty.audio.togglePause()

public this Crafty.audio.togglePause(string ID)
{string} id

将要暂停的音频对象ID

切换ID参数指定的音频实例的暂停状态。

例子

Crafty.audio.togglePause('music');
Back to top

Crafty.audio.unmute()

public this Crafty.audio.unmute()

取消静音每个音频实例。

例子

Crafty.audio.unmute();
Back to top

Crafty.audio.unpause()

public this Crafty.audio.unpause(string ID)
{string} id

要激活的音频对象的ID

恢复播放ID参数指定的音频实例

例子

Crafty.audio.unpause('music');