声音编辑器

Sound Editor您可以在声音编辑器中将声音加载到新的音频资源中并设置其属性。 要加载声音,请按声音名称右侧的加载声音按钮。 弹出文件选择器对话框,您可以在其中选择声音文件。 该文件应该是 WAVMP3 文件或 OGG 文件。 一般来说,*.wav 用于短音效,尽管它们通常是较大的文件,但它们会立即播放,因为它们不需要任何类型的解码来播放。 *.mp3*.ogg 格式文件应用于背景音乐或较长或较大的音效。 这些文件比波形文件小得多,但 CPU 开销很小,因为在播放之前必须对其进行解码。

一旦你加载了你的文件,你可以通过使用播放按钮来预览声音,它将连续循环。这是非常方便的,因为它意味着你可以使用窗口底部的滑块来改变音量,并听到它将对声音产生的影响。也有一个停止按钮,所以你可以在任何时候停止预览。

提示使用检查器查看所选声音的波形。

声音窗口也有其他选项,解释如下:

名称和文件名称和文件

在这里你可以点击Open按钮,打开文件资源管理器,选择一个音频文件来加载。你还可以从左边的 "名称 "字段中设置新资源的名称。名称只能是字母-数字,并且只能使用 _"符号,而且不能以数字开头。

音量与播放音量与播放

您可以在此处设置给定声音的播放音量。 在游戏中,该值用作该资产的资产级增益(如音频属性概述中所列)。
例如,如果滑块位于中间,则所有资产的资产级增益 游戏中此声音的实例将为 0.5。 该声音资源的实例级增益为 1 的声音实例的最终增益为 0.5 * 1 = 0.5,增益设置为 0.5 的实例的最终增益为 0.5 * 0.5 = 0.25,等等。

除了音量控制,你还有播放控制,在这里你可以预览声音,将其设置为循环或倒退。你还可以点击Open Mixer Icon图标,在声音混合器中打开声音。

OGG转换OGG转换

这个选项只适用于OGG格式的声音,允许你选择这两个选项之一。

使用自动选项时,资源编译器将不会转换OGG声音文件,而是将其原样复制到游戏可执行文件中。如果源文件和声音资源的属性不匹配,例如源音频文件是单声道(只有一个声道),但资源的属性指定它有两个声道,则可能会导致问题。

Required选项可用于避免此类问题,并确保资源编译器始终使用声音编辑器中指定的属性将源音频文件转换为新的OGG文件。

属性属性

本节用于设置声音属性。这些属性将在你导出游戏时被设置,并将影响声音在运行时的播放效果。对于声音效果(WAV 格式),你会希望它们是未压缩的,这样它们就能快速播放,不需要解码。注意,使用这个选项会在编译时将你的音频转换为WAV格式(但是如果在声音编辑器中设置的属性与源WAV文件的属性相匹配,那么它就会被简单地复制过来)。对于OGGMP3,你一般会想要其他三个选项之一。

压缩音频将强制你所有的声音文件(无论它们是WAV还是MP3)压缩成Ogg Vorbis OGG格式文件,用于所有平台(但是,如果源音频已经是OGG ;如果Conversion选项设置为Automatic,它将被简单地复制过来而不被再压缩)。这些声音在光盘上比较小,但会有轻微的CPU开销,因为在播放前需要解压缩并加载到内存中,所以如果你想在一个已经是CPU密集型的游戏中使用压缩,你应该记住这一点。

你可以通过选择加载时解压缩来减轻CPU的开销,这将把所有的声音放到设备内存中,以加快播放速度,但代价是增加内存的使用。

如果你选择了压缩音频,那么你也可以选择让你的声音从磁盘流。流媒体的声音将是未压缩的、实时播放的,从磁盘中流出来的,而不是加载到内存中。流媒体是音乐的理想选择,因为它减少了解压缩整个文件的一次性开销--这可能会导致游戏的暂停--但不建议用于简单的声音效果,因为它对 CPU 的影响要小得多。如果你选择了流式音频,你将能把声音分配给音频组,这个选项将被禁用,因为流式声音的打包方式与其他声音不一样,你可以使用代码完全控制它们何时被加载、播放和卸载。但是,这些声音将被分配到默认音频组 audiogroup_default

需要注意的是,当针对HTML5平台时,当播放请求不是直接来源于用户交互(即:触摸事件等)时,流媒体音频将不会播放。然而,由于GameMaker排队等待点击事件,并且只在下一帧处理这些事件,因此不可能在不被浏览器阻止的情况下播放流媒体音频。为了解决这个问题,任何HTML5游戏的运行都会在引擎中把所有流媒体音频视为非流媒体,但流媒体音频不被预装除外。

这意味着,如果你的游戏在浏览器上运行,并且--例如--你有10个音乐曲目都被设置为流式mp3 文件,所有10个都会像非流式音频一样被初始化,但它们不会在游戏加载前立即被解码,不像正常的流式音频会在加载屏幕阶段立即被预加载/解码。

虽然这绕过了这个问题,并防止了初始加载时间的巨大增加,但它确实意味着它可能会导致你的游戏已经加载,但某些流媒体的声音可能仍在下载或解码的状态。为了解决这个问题,你可以使用GML函数audio_sound_is_playable() 来检查一个给定的声音是否真的可以被播放。在HTML5上,如果声音还没有完全加载或解码,这个函数将返回false ;如果声音可以播放,则返回true (在所有其他平台上,它总是返回true)。

目标选项目标选项

目标选项面板是你为你的游戏设置转换率的地方。这些设置将影响声音在目标平台的输出方式,GameMaker会自动为你转换声音文件--你只需控制这些声音在转换时的最终质量。一般来说,16比特质量(或比特深度)、44100kHz 采样率 和128kbps 比特率的默认设置是完全足够的,但你可能希望声音效果(例如)有较低的质量,音乐有较高的质量,在这种情况下,这些设置可以改变。

你还可以选择是单声道立体声还是3D的转换。如果你打算使用音频发射器功能 来创造3D音效, 那么你应该选择单声道或3D,而不是立体声,否则你在游戏中的声音可能不会从你预期的扬声器中发出来。  注意,"3D "和 "单声道 "之间没有区别--"3D "只是一个IDE标签,用来帮助刚接触音频的人在想要定位音频时不要选择立体声。如果你选择使用3D输出,它将被导出为单声道声音。

注意 声音质量越高,文件越大,在决定选择什么比特率和采样率时,应考虑到这一点。

音频组音频组

你可以将你的音频文件分配到一个特定的音频组。这些文件是在音频组窗口中创建的,用于将音频资源分组,以方便内存管理和音量控制。

一旦一个音频文件被分配到一个组,你就可以使用特定的音频组函数来改变它们,并从内存中加载/卸载它们。更多信息请参见音频函数的参考章节。

如果你选择了流式音频,那么这个选项将被禁用,因为流式声音的包装方式与其他声音不一样,不会被加载到内存中,而是直接从存储介质中串流出来。

注意 虽然其余的音频属性是特定的配置,但音频组的设置是而不是,一个声音在所有你使用的配置上将属于同一个组。