问题标签 [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.
makefile - make 找不到 SDL_mixer.h 但我包含了 SDL 目录
我正在尝试从 source 构建 eduke32 。
除其他外,它还需要 SDL_mixer.h。
我有它:
(我安装了开发工具组,以及许多其他开发包)
但是当我开始构建时,我得到了 SDL_mixer file not found 错误。
即使我添加了 include-dir 选项,也会发生这种情况:
这里发生了什么事 ?有人有线索吗?
c - SDL_Mixer:Mix_FreeChunk() 在内存中创建的样本上崩溃
我正在努力为声音样本添加随机音高,现在效果很好,但是当我使用完之后尝试释放块时,Mix_FreeChunk() 崩溃了。
我做了一个简化的测试来重现这个问题(SDL 1.2.14 和 SDL_mixer 1.2.11):
s1 是使用 Mix_LoadWAV_RW 从文件加载的,s2 是在内存中创建的 s1 的精确副本。后者在释放时崩溃,但前者不会。任何人都知道为什么会发生这种情况?我在这上面花了几个小时,并将其缩小到 SDL_Mixer 中发生的事情,但我无法查看底层源崩溃时发生了什么,现在测试非常简单,它是原始样本,但仍然失败...
具体错误消息的示例:“game.exe 中 0x77c5e3be 的第一次机会异常:0xC0000005:访问冲突读取位置 0x69b0f1d8。”
为什么不能释放内存?
编辑:在进一步检查了隔离测试之后,在 HeapFree(_crtheap, 0, pBlock) 调用期间,s2 的释放在 free.c 中特别崩溃,所以不知何故堆在这几行的空间中被破坏了?Mix_FreeChunk() 中的中间代码实际上非常简单,或多或少只是在缓冲区上调用 free()。既然如此,为什么 s1 会好,但 s2 会失败?
visual-studio-2008 - SDL Mixer 仅在某些机器上无法加载文件
一段时间以来,我一直在网上搜索有关此问题的一些帮助,但找不到有关此特定问题的帮助:我打算使用 SDL Mixer 播放 wav 文件“click.wav”。由于目前我无法弄清楚的原因,SDL Mixer 无法正确加载它。
我不明白的是,在不同的机器上执行完全相同的代码。除了加载和播放声音文件之外,其他所有内容都可以完美编译和执行:
Mix_LoadWAV 返回 NULL 但不幸的是 Mix_GetError() 没有返回错误代码。我什至开始查看 SDL 源代码,但我没有走多远。在 SDL_mixer.h:
#define Mix_LoadWAV(file) Mix_LoadWAV_RW(SDL_RWFromFile(file, "rb"), 1)
中,即 Mix_LoadWAV 被从 RWOPS 结构中读取文件的 Mix_LoadWAV_RW 调用替换。它主要委托SDL_RWFromFile(file, "rb")
实际打开文件并生成结构。也许这就是错误的来源。
两台计算机都使用 Windows 7 64 位操作系统、Visual Studio 2008 和 SDL2。我安装并检查了所有文件: 头文件:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\gl 32 位库文件:C:\Program Files (x86)\Microsoft Visual Studio 11.0\ VC\lib 32 位 dll 文件:C:\WINDOWS\SysWOW64 64 位 lib 文件:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Windows\VC\libs\amd64 64 位 dll 文件:C: \WINDOWS\System32
我为链接器设置了以下附加依赖项:SDL2.lib、SDL2main.lib、opengl32.lib、odbc32.lib、odbccp32.lib、SDL_mixer.lib
您将在下面找到我使用的代码。即使 SDL Mixer 无法加载波形文件,该文件也可以在这台计算机上播放,而其他程序不会出现任何问题。
如果有一些关于如何解决这个愚蠢问题的建议,我将不胜感激。我不是专家级程序员,最近才开始使用 SDL。
c++ - SDL2_mixer 链接未定义的引用 C::B
我正在尝试将 SDL2_mixer 用于声音,但出现这些错误
未定义对“Mix_OpenAudio”的引用
未定义对“Mix_LoadWAV_RW”的引用
未定义对“Mix_PlayChannelTimed”的引用
根据 Lazy Foo 的教程,未定义的引用意味着我的链接器设置有问题,我认为我的每一个设置都是正确的。它是这样的:
-lmingw32 -lSDL2main -lSDL2 -lSDL2_mixer -lSOIL -lOpenGL32
此外,头文件和 lib 文件的搜索目录是正确的(我已经检查了三次),并且 .dll 与可执行文件位于同一目录中。代码文件也有相应的#include 目录。我想尝试的事情已经不多了,因此感谢您的帮助
c++ - 使用 SDL_mixer 时没有声音
由于一些非常奇怪的原因,SDL_mixer 绝对没有声音播放。我已经尝试了一切:重新安装库,检查音乐是否真的可以播放,使用 Mix_FadeInMusic 和 Mix_FadeOutMusic,到绝对没有用。它告诉我音乐正在加载,它告诉我它正在播放。我在 VC 2013 中使用 Windows 8.1 64 位。
代码:
c++ - 削减依赖关系
我正在使用 SDL2/Box2D/OpenGL(加上 SDL2 扩展 SDL2_mixer 和 SDL2_ttf)用 C++ 编写一个小游戏。由于我接近1.0版本,我一直在考虑分发游戏,我刚刚发现我的游戏有一些意想不到的依赖。
显然,SDL2 引入了 libjson 之类的依赖项(为什么 SDL 需要 json?),而 SDL2_mixer 引入了 libglib。在我看来,这些是最奇怪的,但还有更多。例如,SDL2 而不是 SDL2_mixer 正在引入 libFLAC。还有一些依赖项,如 libpng、libmad、libvorbis 等。我确定我没有使用这些功能。
我是否需要包含所有这些依赖项才能拥有一个失败的独立游戏?将依赖项数量减少到绝对最低限度的最佳方法是什么?
这是 ldd 的完整输出:
sdl - 加载 .wav 文件 C++ 时出错
我试图加载一个 .wav 文件(afschieten.wav),但我无法加载它。我跟着lazyfoo的教程:http: //lazyfoo.net/SDL_tutorials/lesson11/
编码:
我在文件顶部得到了这个:
我从 main 调用的函数:
我究竟做错了什么?编译时我没有错误。它说音效 afschieten.wav 加载失败。
c++ - 如何使用 SDL_mixer 指定设备
我有一个使用 SDL_mixer 库(http://www.libsdl.org/projects/SDL_mixer/)播放一些声音的程序。当我只是使用 Mix_OpenAudio 打开与默认设备的连接时,它运行良好。但是,我需要针对特定的音频设备。我看到 SDL 库本身有一个名为 SDL_OpenAudioDevice 的方法可以满足我的需要,但是我必须编写自己的混音器和所有这些东西。
任何人都知道如何使用 SDL_mixer 打开特定的音频设备,或支持此功能的 SDL 的不同混音器?我真的不想编写自己的混音器。我正在用 C++ 在 Windows 7 上开发一个 Win32 应用程序。
c - 使用 SDL 混频器的实时限带脉冲序列合成
我正在尝试使用这种技术实现音频合成器:
https://ccrma.stanford.edu/~stilti/papers/blit.pdf
我正在使用 SDL2_Mixer 库在标准 C 中执行此操作。
这是我的 BLIT 函数实现:
这个想法是按照纸上的说明将其结合起来生成方波。我使用以下配置设置了 SDL2_mixer:
这是我的create_rect
功能。它创建了一个双极脉冲序列,然后整合它的值来生成一个带限的矩形函数。
我的问题是:产生的波很好,但几秒钟后它开始发出噪音。我试图绘制结果,这是它:
任何想法?
编辑:这是双极 BLIT 在集成之前的图:
c++ - 如何修复这个执行错误?
每次我编译我的简单 SDL1.2 代码时,它都会成功编译,但是当我尝试通过终端(Ubuntu 中的alt+ )运行它时:t
我得到这个错误。你能帮忙吗?这是代码: