MiMoEngine ASM: x86-64 MASM汇编+C混合架构游戏引擎
核心热路径(数学/内存/字符串/性能分析)用MASM汇编(SSE/AVX2) 外围系统(窗口/渲染/ECS/音频/UI/脚本)用C语言 含自研编辑器、VisualScript积木编程、中文渲染(glyph_atlas)
This commit is contained in:
commit
2d56cb3bc9
91 files changed
+9988
No files matched your search
@@ -0,0 +1,49 @@
|
||||
#pragma once
|
||||
|
||||
// ============================================================================
|
||||
// audio.h - 音频系统 (XAudio2)
|
||||
// ============================================================================
|
||||
|
||||
#include <xaudio2.h>
|
||||
#include <stdint.h>
|
||||
|
||||
// 音频源
|
||||
typedef struct {
|
||||
IXAudio2SourceVoice* source;
|
||||
IXAudio2Voice* mastering;
|
||||
float volume;
|
||||
float pitch;
|
||||
int loop;
|
||||
} AudioSource;
|
||||
|
||||
// 音频管理器
|
||||
typedef struct {
|
||||
IXAudio2* xaudio2;
|
||||
IXAudio2MasteringVoice* mastering_voice;
|
||||
} AudioSystem;
|
||||
|
||||
// 初始化/销毁
|
||||
AudioSystem* audio_create(void);
|
||||
void audio_destroy(AudioSystem* audio);
|
||||
|
||||
// 音频源
|
||||
AudioSource* audio_source_create(AudioSystem* audio);
|
||||
void audio_source_destroy(AudioSource* source);
|
||||
|
||||
// 播放
|
||||
void audio_source_play(AudioSource* source);
|
||||
void audio_source_stop(AudioSource* source);
|
||||
void audio_source_pause(AudioSource* source);
|
||||
void audio_source_resume(AudioSource* source);
|
||||
|
||||
// 音量/音调
|
||||
void audio_source_set_volume(AudioSource* source, float volume);
|
||||
void audio_source_set_pitch(AudioSource* source, float pitch);
|
||||
void audio_source_set_loop(AudioSource* source, int loop);
|
||||
|
||||
// WAV加载
|
||||
int audio_load_wav(AudioSource* source, const char* path);
|
||||
int audio_load_wav_memory(AudioSource* source, const uint8_t* data, uint32_t size);
|
||||
|
||||
// 主音量
|
||||
void audio_set_master_volume(AudioSystem* audio, float volume);
|
||||
Reference in new issue
Block a user