1

基本信息:

编程语言 - C++

平台 - Windows

音频格式 - wav 和 mid

我最近完成了一个游戏,并且正在寻找将其上传到文件托管站点的最佳方法。我最终决定使用 7zip 的自解压功能。但是,我认为我犯的错误是,我没有将我需要的内容复制到另一个文件夹并将其压缩以进行分发(即,不复制源文件等),而是重新排列了包含我所有源文件的实际文件夹等等,并将其拆分为 C++ 文件的 2 个子文件夹,然后是其他所有文件(该文件夹是被压缩的文件夹。)

我测试了下载并播放它,它工作正常。然而,我回去了,因为我决定改变背景音乐,这就是问题开始发生的时候。

总结问题,Mix_PlayMusic()正在被调用并且工作正常。但是,由于某种原因,没有播放声音(也没有从 调用任何声音效果Mix_PlayChannel())。奇怪的是,你可以在Mix_FadeOutMusic()被叫时听到音乐。我也有一个声音切换功能,但经过彻底的测试,我得出的结论是这不是问题。

我最终决定创建一个全新的项目,并将我需要的所有文件放入与它们最初所在的相同“组织”中的项目中。但是,问题仍然存在。

我不知道出了什么问题。文件正在正常加载,只是当音乐应该播放时(并且根据测试它是),它没有播放。这也适用于音效。

编辑:我实际上为每个游戏循环编写了一个测试,以确定音乐是否正在播放,并且显然音乐正在播放。只是由于某种原因它没有被听到。

4

1 回答 1

1

这可能是很多事情。这可能是您拥有的 SDL_Mixer 库的问题,因此您可以尝试再次获取它以排除这种情况。你的音量可能在某个地方被设置为零,所以我会检查音量作为测试。最后的想法是您正在播放的源声音文件在某些​​方面不兼容(如果您可以在另一个声音播放器中播放,则不太可能,但可能)。除了这些建议之外,我认为我无法通过您提供的数据进一步帮助您。

于 2009-10-19T12:43:06.573 回答