音效是小的音频样本,通常不超过几秒钟,在特定的游戏事件(例如角色跳跃或开枪)中播放。
音效可以多种格式存储,包括 MP3、OGG 和 WAV。您应该使用哪种格式,取决于您的具体需求,因为每种格式都有自己的优点和缺点。例如,与其他格式相比,WAV 文件非常大,OGG 文件在 RoboVM (iOS) 和 Safari (GWT) 上都不起作用,MP3 文件存在无缝循环问题。
注意:在 Android 上,Sound 实例的大小不能超过 1mb(未压缩的原始 PCM 大小,而不是文件大小)。如果您有更大的文件,请改用音乐。
声音效果由Sound接口表示。加载音效的工作原理如下:
Sound sound = Gdx.audio.newSound(Gdx.files.internal("data/mysound.mp3"));
"mysound.mp3"
这会加载从内部目录调用的音频文件data。
一旦我们加载了声音,我们就可以播放它:
sound.play(1.0f);
这将以全音量播放一次音效。单个Sound实例上的 play 方法可以连续调用多次,例如对于游戏中的一系列击球,并将相应地覆盖。
更细粒度的控制是可用的。每次调用都会Sound.play()返回一个 long 来标识该声音实例。使用这个句柄,我们可以修改特定的播放实例:
long id = sound.play(1.0f);
sound.stop(id);
sound.setPitch(id, 2);
id = sound.play(1.0f);
sound.setPan(id, -1, 1);
sound.setLooping(id, true);
sound.stop(id);
注意:这些修饰方法目前在 JavaScript/WebGL 后端的功能有限。从 1.9.6setPan()开始,仅在支持和启用 flash 时才有效GwtApplicationConfiguration.preferFlash = true
注意: setPan()该方法不适用于立体声
一旦您不再需要某个声音,请确保将其丢弃:
sound.dispose();


举报 0