C - 正在播放音乐吗?

时间:2016-11-21 00:12:17

标签: c console wav playback

我正在用语言C制作基于文本的冒险游戏。 我正在使用CodeBlocks,游戏将是一个控制台应用程序。

是否可以在节目中加入“背景音乐”? 这会让游戏更加吸引人。

我只知道音乐应该是.wav格式。 但是我只找到了解决这个问题的C#和C ++解决方案(而且C ++解决方案是YouTube上一个质量非常差的视频)。

所以,如果有可能在C中,那么有人可以告诉我该怎么做吗?

非常感谢! (另外,我希望音乐能够重播,因为它只有2分钟的长度,但只要节目正在运行,我希望它能一遍又一遍地播放。)

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

没有可移植的方式来播放C中的音乐,这意味着DOS,Linux,Mac和Windows有非常不同的解决方案。以下是方法的快速概述。所有这些都有些复杂:

  • DOS:通过定时器中断的0x42 / 0x43直接进行PIT编程
  • Linux:你需要alsa或pulseaudio库,以及播放音乐的后台线程。或者只是在后台启动像sox这样的媒体播放器,但是你必须确保用户安装了它。
  • Mac OS:我不知道。我知道你可以在默认音乐播放器中生成open file.wav来播放文件,但这对用户来说可能会非常烦人。
  • windows:旧的MCI命令可能需要最少的代码行。您必须为MCI接口创建一个隐藏窗口才能工作。