问题标签 [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 投票
5 回答
18036 浏览

windows - 如何在 Windows 上静态编译 SDL 游戏

我一直在尝试为我的 Windows 游戏制作一个静态链接的“单一二进制”版本。我想与 sdl、sdl_image 和 sdl_mixer 链接,它们反过来又引入了一些支持库。不幸的是,我还没有找到一种方法让它们全部使用 cygwin/mingw/gcc 进行编译和链接。据我所知,所有现有的公共版本都只是共享库/dll。

请注意,我在这里不是在谈论许可。源将是开放的,因此 sdl 的 GPL/LGPL 不相关。

0 投票
3 回答
1897 浏览

c++ - 为什么 SDL_Mixer 不能播放某些 mp3 的音乐?

为什么 SDL_Mixer 不能播放某些 mp3 的音乐?

我正在创建的应用程序中使用 SDL_Mixer 播放音乐。在某些歌曲(实际上是整张专辑)上,音乐根本不会播放而不会返回任何错误。音乐数据使用 Mix_LoadMUS 成功加载,当使用该数据执行 Mix_PlayMusic 时,它奇怪地返回 0 表示成功但不播放音乐。我还尝试阅读 Mix_GetError() 和 SDL_GetError() (我相信它们是相同的),看看它是否会引发错误,但没有这样的运气。

我的问题是,SDL_mixer 无法播放特定 mp3 的其他原因是什么?

我知道 mp3 的功能很强大,因为我可以在其他音乐播放器中播放它们。由于 Mix_PlayingMusic 返回 0,我还知道他们没有在播放(与音量可能被调低相反)。

谢谢大家!

0 投票
2 回答
1686 浏览

c++ - 将音乐作为 SDL_Mixer 块运行

目前,SDL_Mixer 有两种声音资源:块和音乐。

除了 API 和支持的格式限制之外,还有什么理由不将音乐作为 SDL_Chunk 和频道加载和播放?(内存、速度等)

0 投票
1 回答
1528 浏览

c++ - 我在播放 Mix_Chunk 时意外延迟

所以我正在尝试学习 SDL 并创建一个小游戏。当用户按下空格键时,它应该会播放声音。这行得通,但播放声音大约需要 0.5 秒......我该如何解决这个问题?我检查了实际文件,看看延迟是否只是其中的一部分,结果并非如此。

SDL with c++ on win vista。

这是一些相关的代码:

句柄输入函数:

如果需要更多,请告诉我。

0 投票
1 回答
1686 浏览

c++ - SDL。当前音乐位置

我使用 SDL_mixer 函数加载我的音乐曲目:

为了与视频同步,我需要知道当前的音乐位置。我怎样才能确定这一点?

0 投票
1 回答
1274 浏览

c++ - C++ SDL Mixer Mix_Music:不允许不完整的类型

每当我尝试创建 Mix_Music 实例时,我都会收到此错误:“不允许使用不完整的类型”。

但是,我需要在调用 Mix_LoadMUS(file); 之前获取指针音乐的地址;

代码:

我该怎么做呢?

0 投票
1 回答
421 浏览

c++ - 使用 SDL_Mixer 播放加密文件

我有一些加密的 mp3 文件,我想使用 SDL_Mixer 从我的程序中播放。我遇到的所有文档都只展示了如何通过指定路径和文件名来加载音乐,我还没有遇到过播放先前加密文件的示例。我有一个解密文件的算法,并且想知道它是否与向 SDL_Mixer 函数添加回调一样基本,该函数将即时解密文件。如果使用 SDL_Mixer 无法做到这一点,那么有什么音频库可以做到这一点?

0 投票
1 回答
453 浏览

c++ - 使我的 C++ 程序崩溃的音频错误

我正在用 C++ 和 SDL/SDL_mixer 编写一个非常简单的游戏。游戏使用了一些简单的音频功能,当有事情发生时播放音效,我的程序一直运行良好。在看似随机的时间,该程序将开始发出尖锐和静态的噪音(但仍能播放音效。)我用笔记本电脑的麦克风录制了声音:http ://www.mediafire.com/?oe9nrdk9w5r572k 。在发出声音时,程序可能会或可能不会崩溃。我不知道该怎么办。

0 投票
4 回答
1243 浏览

c++ - Windows Vista/7 上的 SDL_Mixer MIDI 音量问题

我实际上并不精通 C++ 或 SDL_Mixer,但我还是代表 Doom 社区提出了这个问题。简而言之,编写 Doom 源端口的人似乎无法弄清楚如何在 Windows Vista 或 7 上使用 SDL_Mixer 独立控制正常音量和 MIDI 音量。我会让 Eternity Engine 的作者 James Haley 用他自己的话说:

似乎在 Windows Vista 或 7 下不存在本机 MIDI 独立音量的概念,因为在任何具有它们的应用程序(包括大多数使用 SDL_mixer 的游戏)中使用 MIDI 音量滑块也会影响数字声音输出的音量。这使得试图调整音乐的相对音量以获得舒适感是不可能的。

有没有人找到任何解决方法?鉴于微软似乎在整个操作系统中以任何方式分别控制单个声音设备的音量,我猜这不太可能。

我听说过各种涉及胆小的驱动程序的解决方法,但这需要用户超越简单地在他的系统上安装游戏。我所知道的唯一能彻底解决这个问题的端口是 ZDoom,但它使用了与 GPL 不兼容的 FModEx,因此不是一个合适的解决方案。

如果您想查看一些代码,Chocolate Doom 可能是最容易理解的 Doom 源代码端口,您可以在此处获取它的源代码。

也欢迎对其他开源声音和音乐库提出任何建议。

0 投票
1 回答
685 浏览

visualization - Splitting music file into chunks

How would you go about splitting a music file (preferably mp3) into chunks?

I am using the SDL_mixer API. There may be some useful functions in there but I couldn't find any.

The purpose is to use FFT on each chunk to get the frequencies to use in visualization.