问题标签 [sdl-mixer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1050 浏览

c++ - 当在一个特定的指针上调用 delete 时,我的程序有时会崩溃

我正在使用 SDL 2 制作应用程序。我最近才开始使用 SDL_Mixer 库,这给我带来了一个问题。如果我的解释似乎含糊不清,请原谅我,因为这个错误非常令人困惑。

有时,当我关闭我的程序时,程序会崩溃。只是有时会发生这种情况。删除部分代码后,我发现导致这种情况的行是delete对 type 指针的简单调用Window*。如果我删除该删除调用,则关闭程序时不会再发生崩溃。另一件需要注意的重要事情是崩溃发生在delete调用之后,这意味着程序甚至没有进入其中,~Window()这真的很奇怪。

我注意到的另一件事是,当我Mix_OpenAudio(...)从程序的开头删除调用时,根本不会发生崩溃,无论是否存在删除调用。所以初始化 SDL_Mixer 与崩溃有关,但这只会增加更多的混乱。

我希望有人知道这里可能出现的问题,但如果我的解释太模糊,那么我会尝试将问题复制到足够小的代码段中,以便我可以在此处发布。我不想将我的整个代码库复制到这个问题上,因为我不希望模组讨厌我。有任何想法吗?

0 投票
1 回答
938 浏览

python - 我什么时候需要使用混音器预初始化而不是混音器.init?

pygame.mixer init 和 pygame.mixer pre init 有什么区别?我看了一个教程,他使用了pre-init,但解释不清楚。我应该只使用mixer init,还是两者都做?

0 投票
1 回答
433 浏览

c++ - SDL_TTF 和 SDL 2 不能一起工作。给出未处理的异常

所以我想在 SDL2 中制作一个文本渲染器。当我在游戏的每一帧更新文本时,最终它给了我这个错误:

这很奇怪,因为它不会立即给我异常,只是在一段时间后(这个时间似乎有所不同,而且我认为是 SDL_Mixer 导致它)当我“打破”异常时,我似乎是导致错误的行(当我从表面创建纹理时):

我正在使用 32 位 Visual Studio 版本的 SDL_TTF。

如果您能帮助修复此错误,我们将不胜感激。谢谢你。

期望的行为是它可以加载文本,而最终不会给出异常。

其他人有这个错误,但解决方案没有帮助(因为我在更新的 repo 上找不到 Visual Studio 版本):Getting SDL_ttf to play nice with SDL2

编辑1:

更新到稍新版本的 SDL_TTF 2 后错误仍未修复,有什么建议吗?

编辑2:

调用后:

这是控制台中的输出:

似乎“TTF_RenderText_Solid”正在返回 NULL。顺便说一句,我使用的是最新版本的 SDL_TTF。

0 投票
1 回答
868 浏览

c++ - 初始化 SDL_Mixer 时出现错误“无法设置 PulseAudio 流”

我在运行在 Ubuntu-MATE 上的树莓派 3 上编写应用程序。我在带有 SDL 和 SDL_Mixer 的 code::blocks 上使用 C++ 来播放 mp3 文件(我仍在使用 SDL 库的 v1.2)。

初始化 SDL 时我没有收到错误,但是当我使用此行初始化 SDL_Mixer 时:

它返回 -1,所以我使用 Mix_GetError() 方法收到错误消息,它给了我“无法设置 PulseAudio 流”消息。

我不知道 PulseAudio 是什么,所以经过一些研究后我了解到它用于网络流音频流。为什么在 lib 的 init 处需要这个模块,有没有办法绕过它?我不打算在我的应用程序中使用网络功能。

另外,我检查了一下"sudo apt-get install pulseaudio"以确保我没有丢失一些库,但我的数据包管理器似乎表明我有最新的更新......

任何线索都会对我有很大帮助!

谢谢

0 投票
1 回答
2135 浏览

c++ - SDL_Mixer 音频未播放

好吧,这就是问题所在。我开始学习 SDL,并想在我为学校项目制作的这个“游戏”中添加一些音频。音频不会从我的程序中播放,但我阅读和下载的教程代码中包含音频并可以播放。我真的很困惑为什么我的音频无法播放,但这是我所知道的并没有错。

  1. mp3 与代码位于同一文件夹中
  2. mp3 播放频率为 44100 Hz,就像 Mixer 所期望的那样。

非常感谢任何帮助,这是代码

0 投票
1 回答
341 浏览

c - SDL_Mixer 无法处理部分代码

我只是一个奇怪的问题。我希望在我的游戏中加入声音。这是一个有两个阶段的游戏。一种是rpg,一种是战斗。在 rpg 中,您可以在踩到怪物时发起战斗。在我的代码中,我使用 3 次 SDL_mixer 来播放音乐(在菜单中、rpg 和战斗中)。它在前两种情况下有效,但是当我发起战斗时没有音乐。音乐已加载,Mix_playingMusic 返回 true,但在战斗开始时我听不到任何音乐。我使用与 rpg 和菜单中相同的音乐。SDL_Mixer 的代码到处都是一样的。战斗部分代码:

}

编辑:我添加了一个printf("%s", Mix_GetError)并且菜单和 rpg 中没有错误,但在战斗中它是打印的:无效的音频设备 ID

0 投票
0 回答
718 浏览

c++ - 对 SDL_mixer 函数的未定义引用

我现在正在学习 SDL,我想用 播放 MP3 文件SDL_mixer,所以我安装了它,但是当我编译我的程序时,我使用的每个 SDL 混音器功能都会出现“未定义的引用”错误。

这是我的编译命令:

如果我添加-lSDL_mixe它,它会报告它找不到它。

0 投票
1 回答
779 浏览

android - SDL_Mixer MOD 音乐循环播放

我正在尝试使用 SDL_Mixer 在 SDL(2) 应用程序中循环播放一些 mod 音乐,但我发现该库不能很好地处理 IT/XM/S3M/MOD 格式。

音乐播放并且在技术上可以循环播放,但是当重新加载曲目时会出现可怕的口吃,并且完全拒绝遵守这些格式支持的“位置跳转”命令。我的理解这更像是一个 SDL_Mixer 问题,而不是实际处理格式的底层 MikMod 库。

请记住,该程序需要支持多个平台(又名 Android),是否有一种 hacky 方法来创建更清晰的循环机制和/或 SDL_Mixer 的可行替代方案?

0 投票
2 回答
177 浏览

c++ - Mix_Halt 特定曲目?

在 SDL Mix 中,有没有办法停止特定的 Mix_Music 曲目?例如。像这样的东西:

谢谢。

0 投票
1 回答
328 浏览

c++ - 静态库中对 SDL_mixer 函数的未定义引用 (Code::Blocks)

因此,我创建了一个引用 SDL_mixer 函数的静态库(并且这些函数工作正常),但是当我尝试构建链接到该库的项目时,Code::Blocks 告诉我使用的每个函数(在静态库中) 是未定义的引用。我找了又找,但其他人似乎总是有链接器问题,所以这是我的顺序:-lSDL2、-lSDL2_ttf、-lSDL2_mixer、-lGL、-lGLEW,然后是我的库

一切正常,除了我尝试使用 SDL_mixer 函数的一个文件。顺便说一句,在我转换为 Code::Blocks 之前,一切正常。任何帮助是极大的赞赏 :)