用HTML5 Audio API开发游戏音乐

音频在很大程度上使得多媒体体验非常引人注目。如果你曾经尝试在关闭声音的情况下看电影,你就很可能已经注意到了这一点。
  游戏也不例外!我最喜爱的视频游戏的回忆里包含了音乐和声效。在二十年后的今天,大多情况下,当玩我最爱的游戏时,我仍然不能把“塞尔达”里近藤浩二的乐曲和马特大气的暗黑配乐从我的头脑里驱逐掉。这同样适用于音效,例如魔兽里单位实时点击的响应,以及任天堂的经典例子。
  游戏的音频提出了一些有趣的挑战。要创建令人着迷的游戏音乐,设计人员需要调节潜在的不可预知的状态。实际上,部分游戏能持续未知的时间长度,声音可以与环境互动,并以复杂的方式混合起来,例如室内效果和相对声音定位。最后,可能有大量的一次播放声效,这需要不错的混合效果和在渲染时没有性能损失。
  网页上的游戏音频
  简单的游戏使用<audio>标签可能就足够了。然而,许多浏览器提供的简陋实现导致音频毛刺和高延迟的出现。这可能只是暂时性的问题,因为厂商们都在努力改进各自的实现。要了解<audio>标签的支持情况,我们可以使用areweplayingyet.org所提供的优秀测试工具。
  一旦深入<audio>标签规范,就会清楚了解到有很多事情根本不能用它实现。这并不奇怪,因为它主要被设计来支持多媒体播放。这些限制包括:
  无法为声音信号使用滤波器
  无法访问原始的PCM(宇捷:即WAV)数据
  没有来源和听众位置、方向的概念
  没有细粒度的计时
  在下文中,我将深入介绍一些用WebAudio API编写游戏音频方面的内容。在入门教程里可以了解到此API的简单介绍。
  背景音乐
  游戏里往往有循环播放的背景音乐。例如,一个背景音轨如下:
  如果你的循环音乐很短并且已知,会相当的烦人。当玩家被困在一个区域或者关卡上,会同时连续播放相同的背景音乐,我们可能需要逐渐淡出来防止让玩家厌烦。另一种策略是,根据游戏中的上下文,把不同的音效强度通过逐渐的淡入淡出混合起来。
  如果你的玩家在一个史诗般的BOSS关卡里,可能需要对几个不同的情绪范围进行混音,例如从艺术氛围到有心理暗示的氛围再到激烈的氛围。音乐合成软件通常允许你通过选择音轨集合来导出几种混音(它们具有同样长度)。这样音轨之间就有某种内部一致性,避免出现从一个音轨切换到另一个时出现不和谐的转换过渡。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值