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

c++ - SDL Mix_LoadMUS 未加载 .mp3

所以显然我一直在尝试使用 SDL_mixer 加载 .mp3。但是,这不起作用,与 libsdl wiki 不同:SDL_mixer Mix_LoadMUS

我希望它能够工作,但是在加载和播放文件时,我的控制台应用程序中弹出以下错误:

就我而言,我一直在尝试通过以下方式加载test.mp3 :

我显然已经初始化了 SDL 子系统。

0 投票
0 回答
1200 浏览

c - 使用 Visual C++ 构建 SDL2_mixer 时未解析的外部符号

我正在尝试在 Visual Studio 中使用 Microsoft Visual C++ 构建 SDL2_mixer (2.0.2),看来我已经正确配置了它。

但似乎这两个示例项目playmusplaywave返回错误(每个总共 17 个)关于未解决的外部符号关于FLAC(免费L ossless A udio C解码器)和modplug 。

似乎我已经通过在两个示例项目的附加链接器依赖项列中添加modplug.lib和正确链接它们。libFLAC_static.lib

我一直在尝试解决这个问题,因为很明显,如果这两个示例项目失败,那么我使用 SDL2_mixer 的项目也会因这些未解决的外部符号错误而失败。

最后,我是对的。它发生了......当我使用它时。

如此优雅,有没有办法摆脱这些链接器错误(似乎我已经正确链接了它们)。

错误在这里(如果你愿意的话):

错误 LNK2019:函数 _MODPLUG_Load 中引用的未解析外部符号 __imp__ModPlug_Load

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_process_until_end_of_stream

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_process_until_end_of_metadata

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_process_single

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_flush

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_finish

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_init_stream

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_get_state 错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_delete

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_new

错误 LNK2019:函数 _MODPLUG_Load 中引用的未解析的外部符号 __imp__ModPlug_SetMasterVolume

错误 LNK2019:函数 _MODPLUG_Load 中引用的未解析的外部符号 __imp__ModPlug_SetSettings

错误 LNK2019:函数 _MODPLUG_Load 中引用的未解析的外部符号 __imp__ModPlug_GetSettings

错误 LNK2019:函数 _MODPLUG_Load 中引用了未解析的外部符号 __imp__ModPlug_Seek

错误 LNK2019:函数 _MODPLUG_Load 中引用的未解析的外部符号 __imp__ModPlug_Read 错误 LNK2019:函数 _MODPLUG_Load 中引用的未解析的外部符号 __imp__ModPlug_Unload

错误 LNK2019:函数 _FLAC_Load 中引用的未解析的外部符号 __imp__FLAC__stream_decoder_seek_absolute

错误 LNK1120:17 个未解决的外部因素

附加依赖项:(我在尝试无助地解决这些错误时添加):-

winmm.lib
version.lib
libmpg123-0.lib
modplug.lib
libFLAC_static.lib

预处理器设置:(在SDL2_mixer项目内部):-(我怀疑这可能与此错误有关,但看起来仍然很好):-

MUSIC_WAV
MUSIC_MOD_MODPLUG
MUSIC_OGG
MUSIC_FLAC
MUSIC_MP3_MPG123
MUSIC_MID_TIMIDITY
MUSIC_MID_NATIVE

这两个项目的错误几乎相同。

我从这里抓取了GitHub 上的modplug,所以它不是官方的。

相信我,从头开始构建 SDL_mixer 总是很痛苦的。

感谢您花时间阅读本文。

0 投票
1 回答
571 浏览

sdl-2 - SDL2_Mixer:静态链接的音频库不需要 Mix_Init?

我正在使用 SDL2(和所有扩展库)开发一个程序。其中一个库当然是 SDL_Mixer v2.0.2。

使用 SDL_Mixer,所有示例和教程都使用该Mix_Init函数(以及Mix_Quit程序末尾的后续函数)。据我了解,这会加载动态库,例如 ogg、mpg123 等。但是,我已将所有库静态链接到可执行文件(SDL_Mixer 和所有音频库)。

这是否意味着我不需要打电话Mix_Init?我问这个是因为该函数总是返回不正确的标志(这意味着它无法加载)。即使它失败了,或者我什至没有调用它,我仍然可以播放.mp3,.flac和所有其他音频格式。

由于没有它似乎可以正常工作,所以我想根本不调用该函数。但与此同时,我想确定我正在做的是应该如何处理它,并且没有一些实际的非处理错误导致内存泄漏或其他什么。

0 投票
2 回答
473 浏览

c - C SDL2 Mixer 从指针播放 Wav

所以我有一个存档,正在将我的 .wav 文件加载到内存中,我正在尝试从 void* 播放 .WAV 或在内存中处理。

II 不能在目录中包含所有 .wav 文件,并且我有一个将它们加载到内存中的函数。

这是我正在尝试的一些代码,我已经尝试了很多东西,但很多似乎都不起作用,我认为 SDL 库正在寻找要加载的物理文件,但我无法确认。

> 如果我试试这个,......

我遇到错误 'int Mix_PlayMusic(Mix_Music *,int)': cannot convert argument 1 from 'void *' to 'Mix_Music *'

如果您使用 SDL2 有更好的解决方案,那么我也愿意看看。

谢谢。

0 投票
1 回答
467 浏览

cmake - 如何将外部项目 SDL_mixer 添加到使用 SDL 1.2 的项目中?

我正在尝试使用 cmake从Abuse构建滥用工具。Abuse-tool 主要依赖于 SDL1.2 和 SDL_mixer。

所以我有以下 CMakeLists.txt 文件:

制作。&& 使用测试 1 返回:

添加了带有测试 2 和 3、cmake 的 SDL_CONFIG。&& 退货:

添加sudo到测试 2 和 3, cmake 。&& 使用测试 4 返回:

回到原点 :/

基本上我无法使用带有 cmake 的 SDL_mixer 库构建滥用工具。

任何帮助将不胜感激。谢谢。

一些参考:
- https://gist.github.com/gamefreak/615275 (SDL 1.2)
- https://gist.github.com/SergNikitin/d8d9441120d00459201d (SDL 2)

0 投票
1 回答
1624 浏览

cmake - 无法将 sdl_mixer 与 cmake 链接

当我调用 Mix_OpenAudio(...) 时,我特别得到了一个未定义的引用。我可以包含“SDL_mixer.h”就好了。这是我的 CMakeList.txt。对包含的所有其他软件包感到抱歉。我还将包括 FindSDL_MIXER.cmake。我也可以创建 SDL_Mixer 数据类型。我使用 apt-get install 安装了 SDL_Mixer。

现在这里是 FindSDL_MIXER.cmake。

0 投票
0 回答
318 浏览

autotools - 我需要设置哪些标志才能将 SDL2_mixer 与外部库静态链接?

我很难通过带有本机mingw-w64 的MSYS2libFLAC配置脚本添加依赖项。它们根本没有被检测到。 但是,我可以在提供的.
--with-sdl-prefix

没有成功,我尝试导出LDFLAGSCPPFLAGS.

make && make install我想知道在执行标准命令之前如何实现实际检测到库和标头的结果。


编辑:

通过修改LDFLAGSCPPFLAGS

我能够部分包含其中一些库,因为以下命令

会给我那个输出:

如您所见,即使我提供了上述导出,也会出现一些警告。

0 投票
0 回答
386 浏览

c++ - 使用 SDL_mixer 播放 .ogg 文件时出现问题

我正在尝试使用 SDL 混音器在我的游戏中播放 .ogg 文件。它似乎已正确安装,它在此过程中输出:

如果我没记错的话,这似乎表明 .ogg 文件应该可以工作并且库已正确链接。

但是,当我玩游戏时,.ogg 音乐文件无法播放。它向终端提供以下输出:

此输出是从以下代码行生成的:

有趣的是,Mix_GetError() 似乎没有产生任何输出,即使有错误。

此外,如果我尝试尝试使用 .wav 歌曲文件,它确实可以工作,因此问题似乎特定于 .ogg 文件。

我认为问题与我如何链接库有关,但我已经尝试了一些事情,但我似乎无法修复它。有没有人对我的问题可能是什么原因/我如何解决它们有任何建议?

0 投票
1 回答
78 浏览

sdl - SDL_mixer 可以平移吗?

我比较了 SDL_mixeropenAL。我决定使用SDL_mixer因为它很容易处理。 SDL_mixer是非常容易操作的音效和BGM。但这是否对应于平移(左右摆动声音)?

另外,有些文章宣称sdl_mixer有一些问题,但那篇文章没有写具体问题。与OpenAL相比有问题吗?

0 投票
1 回答
1023 浏览

c++ - 即使安装了 libmpg123,SDL_Mixer 2.0.4 “MP3 支持不可用”

我是编程的初学者,正在尝试制作一个简单的控制台 MP3 播放器作为一个项目。为此,我需要一种播放.mp3文件的方法。SDL Mixer 提供此功能,但需要libmpg123安装在自己的系统上。

即使我安装了所需的依赖项“libmpg123”,对“Mix_Init()”的调用也总是失败。如果这很重要,我没有其他格式的依赖项,即 FLAC、OGG、MOD 和 MIDI。

我在我的笔记本电脑上运行 Ubuntu 18.04,并且我有 SDL2 版本 2.0.9、SDL_Mixer 2.0.4 都是从源代码构建的(尽管我已经尝试过通过apt包管理器提供的版本)。我还libmpg123安装了我也从源代码构建的(同样,我也尝试了通过包管理器提供的版本)。

我以两种方式编译了代码:

g++ Mix_Init.cpp -lSDL2 -lSDL2_mixer

g++ Mix_Init.cpp -lSDL2 -lSDL2_mixer -lmpg123

我不知道哪一个是正确的,但没有一个能解决问题。

这是我的/usr/local/lib目录的内容:

我期望输出:

相反,我得到:

更新:

显然,我还安装了其他依赖项......

但我不知道如何使用它们。

在此处输入图像描述