用于表达性游戏音频的库。
Kira 是一款不依赖后端的库,用于为游戏创建富有表现力的音频。 提供了 tween 功能,可平滑调整声音的属性,还提供了灵活的混音器 用于对音频应用效果的时钟系统,可精确定时音频事件, 以及空间音频支持。
同时多次播放声音:
use kira::{
AudioManager, AudioManagerSettings, DefaultBackend,
sound::static_sound::StaticSoundData,
};
// Create an audio manager. This plays sounds and manages resources.
let mut manager = AudioManager::::new(AudioManagerSettings::default())?;
let sound_data = StaticSoundData::from_file("sound.ogg")?;
manager.play(sound_data.clone())?;
// After a couple seconds...
manager.play(sound_data.clone())?;
// Cloning the sound data will not use any extra memory.随着时间的推移逐渐加快声音速度:
use std::time::Duration;
use kira::{
AudioManager, AudioManagerSettings, DefaultBackend,
sound::static_sound::StaticSoundData,
Tween,
};
let mut manager = AudioManager::::new(AudioManagerSettings::default())?;
let sound_data = StaticSoundData::from_file("sound.ogg")?;
let mut sound = manager.play(sound_data)?;
// Start smoothly adjusting the playback rate parameter.
sound.set_playback_rate(
2.0,
Tween {
duration: Duration::from_secs(3),
..Default::default()
},
);使用应用了低通滤波器的声音 (这会使音频听起来更好) 模糊):
use kira::{
AudioManager, AudioManagerSettings, DefaultBackend,
sound::static_sound::StaticSoundData,
track::{
TrackBuilder,
effect::filter::FilterBuilder,
},
};
let mut manager = AudioManager::::new(AudioManagerSettings::default())?;
// Create a mixer sub-track with a filter.
let track = manager.add_sub_track({
let mut builder = TrackBuilder::new();
builder.add_effect(FilterBuilder::new().cutoff(1000.0));
builder
})?;
// Play the sound on the track.
let sound_data = StaticSoundData::from_file("sound.ogg")?.output_destination(&track);
manager.play(sound_data)?;以音乐节拍的方式播放声音:
…Kira 主要是我
暂无开放 Issues,或尚未同步最近议题。