当前位置: 首页 > news >正文

SDL-1

1.https://www.cppgamedev.top/courses/sdl-space-shooter/parts/sdl-fundamentals
练习3:添加音效播放功能(使用Mix_LoadWAV和Mix_PlayChannel函数)

1.SDL使用的音频数据结构

chunk

  • 完全预先加载进内存的文件
    music
  • 一个根据需要(流式)解码的文件

2.使用到的函数

int Mix_PlayChannel(int channel, Mix_Chunk *chunk, int loops);

  • 用途:Play an audio chunk on a specific channel.
  • 如果指定channel为-1,则在第一个空闲的channel上播放
  • 如果loops大于零,则循环声音多次。如果loops为-1,则“无限”循环(约65000次)。

Mix_Chunk * Mix_LoadWAV(const char *file);

  • 用途:Load a supported audio format into a chunk.

3.实现播放音效

// 读取音效
Mix_Chunk* sound = Mix_LoadWAV(getAssetPath("sound/eff5.wav").c_str());
if (!sound) {std::cerr << "Mix_LoadWAV Error: " << Mix_GetError() << std::endl;return 1;
}
// 播放音效
Mix_PlayChannel(-1, sound, 100);
...
while(true) {...} //渲染循环
...
// 清理音乐资源
Mix_FreeChunk(sound);
...
http://www.hskmm.com/?act=detail&tid=36196

相关文章:

  • CF1206B Make Product Equal One
  • 软件工程第三次作业----结对项目
  • 关于莫比乌斯函数的应用1
  • 用deepseek写的一个求原根的程序
  • 操作备忘:在AE中让视频中间部分变慢
  • 记一次精简系统Windows11英文版离线安装中文语言包的过程
  • 阿里巴巴数据库开发手册
  • AI元人文:赋能公共治理、司法与监管的价值权衡新范式
  • 基础的sql练习,全都理解你就是高手了!
  • nginx快速实现平滑版本升级
  • Luogu P11159 【MX-X6-T5】 再生 题解 [ 蓝 ] [ 前缀和 ] [ 组合计数 ]
  • 王浩宇 102500416
  • 程序员修炼之路:从小工到专家 读书笔记 2
  • 程序员修炼之路:从小工到专家 读书笔记 3
  • 中级问题
  • 2025.10.21
  • 解答在同步以太坊事件数据时,如何保证后端服务在 API/RPC 不稳定情况下的可用性
  • 程序员修炼之道:从小工到专家 读书笔记 1
  • 好想好想你
  • 10.21日学习笔记
  • 数据库概述
  • 第1天(简单题 基础语法 数据类型、条件判断 、循环 循环嵌套、位运算, ASCII 码)
  • 24信计2班 17曾向嵩 pytorch读书报告
  • 关于第一次作业的时长统计
  • Go 语言问题解释
  • Keil_v5的用法
  • day 8
  • OI 笑传 #21
  • Day1文本格式化标签
  • 【C语言学习记录】你好世界