AnvilKit

anvilkit-audio

音频系统 — BGM、音效、空间音频

anvilkit-audio 提供游戏音频播放能力,支持背景音乐和音效。

AudioEngine

use anvilkit_audio::engine::AudioEngine;

let mut audio = AudioEngine::new()?;

// 播放背景音乐
audio.play_bgm("assets/audio/theme.ogg", 0.8)?;

// 播放音效
audio.play_sfx("assets/audio/explosion.wav", 1.0)?;

// 调节音量
audio.set_bgm_volume(0.5);
audio.set_sfx_volume(0.7);

ECS 集成

通过 System 在游戏逻辑中控制音频:

fn play_hit_sound(
    mut audio: ResMut<AudioEngine>,
    events: EventReader<HitEvent>,
) {
    for _event in events.read() {
        audio.play_sfx("assets/audio/hit.wav", 1.0)
            .ok(); // 忽略音频错误
    }
}

支持格式

格式说明
.oggOgg Vorbis — 推荐用于 BGM
.wavWAV — 推荐用于短音效
.mp3MP3 — 兼容性格式
.flacFLAC — 无损格式

目录