23 个版本
0.8.8-alpha | 2024 年 3 月 16 日 |
---|---|
0.8.6-alpha | 2023 年 1 月 25 日 |
0.6.9-alpha | 2022 年 12 月 12 日 |
0.6.5-alpha | 2022 年 4 月 16 日 |
0.5.1 | 2022 年 1 月 13 日 |
311 在 游戏开发 中排名
103 每月下载量
在 2 个工具箱中使用 (通过 oml-game)
3.5MB
1.5K SLoC
oml-audio
正在进行中!API 将会更改,但我们将遵守 semver 规则。具体来说
在 1.0.0 之前
- 破坏性更改将更改次要版本 (x.y.0)
- 非破坏性更改将更改补丁级别 (x.y.z)
在 1.0.0 之后
- 破坏性更改将更改主版本 (x.0.0)
- 非破坏性更改和新增功能将更改次要版本 (x.y.0)
- 修复将更改补丁级别 (x.y.z)
0.y.z 可能会更改很多!
为基于 Rust 的游戏提供播放音乐和音频的非常薄的包装。
功能
-
在 macOS 上播放 .mp3 音乐(具有硬件加速)
-
在 macOS 上播放 .wav & .caf 音频
-
在 Windows 上播放 .ogg 音乐
-
在 Windows 上播放 .wav 音频
-
在 Linux 上播放 .ogg 音乐
-
在 Linux 上播放 .wav 音频
未来
- 支持其他平台(iOS、android 等)
0.8.x 中的破坏性更改
较新版本允许在多个后端中编译并在运行时选择它们。这有一个缺点,那就是破坏性 API 变更 :( Audio::new
,或者更确切地说,Audio::create_default
或 Audio::create
现在返回一个 Box<dyn AudioBackend>
,这可能意味着您需要更改您的存储。AudioBackend 现在也是基于 FileLoader
的泛型。
示例 :WIP
use oml_audio::Audio;
use oml_audio::fileloader::FileLoaderDisk;
pub fn main() {
let mut fileloader = FileLoaderDisk::new( "./data" ); // 'data' is the base directory for all other files/paths
fileloader.enable_debug();
// OLD: let mut audio = Audio::new();
let mut audio: Box<dyn AudioBackend<FileLoaderDisk>> = Audio::create_default(); // explicit type for verbosity only
audio.load_sound_bank( &mut fileloader, "test.omsb" );
audio.play_sound( "SOUND_ID" );
loop {
let _timestep = audio.update();
// update
// render
// (maybe) yield/sleep
}
}