问题标签 [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.
c++ - SDL Mix_LoadMUS 未加载 .mp3
所以显然我一直在尝试使用 SDL_mixer 加载 .mp3。但是,这不起作用,与 libsdl wiki 不同:SDL_mixer Mix_LoadMUS
我希望它能够工作,但是在加载和播放文件时,我的控制台应用程序中弹出以下错误:
就我而言,我一直在尝试通过以下方式加载test.mp3 :
我显然已经初始化了 SDL 子系统。
c - 使用 Visual C++ 构建 SDL2_mixer 时未解析的外部符号
我正在尝试在 Visual Studio 中使用 Microsoft Visual C++ 构建 SDL2_mixer (2.0.2),看来我已经正确配置了它。
但似乎这两个示例项目playmus和playwave返回错误(每个总共 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 总是很痛苦的。”
感谢您花时间阅读本文。
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
和所有其他音频格式。
由于没有它似乎可以正常工作,所以我想根本不调用该函数。但与此同时,我想确定我正在做的是应该如何处理它,并且没有一些实际的非处理错误导致内存泄漏或其他什么。
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 有更好的解决方案,那么我也愿意看看。
谢谢。
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)
cmake - 无法将 sdl_mixer 与 cmake 链接
当我调用 Mix_OpenAudio(...) 时,我特别得到了一个未定义的引用。我可以包含“SDL_mixer.h”就好了。这是我的 CMakeList.txt。对包含的所有其他软件包感到抱歉。我还将包括 FindSDL_MIXER.cmake。我也可以创建 SDL_Mixer 数据类型。我使用 apt-get install 安装了 SDL_Mixer。
现在这里是 FindSDL_MIXER.cmake。
autotools - 我需要设置哪些标志才能将 SDL2_mixer 与外部库静态链接?
我很难通过带有本机mingw-w64 的MSYS2libFLAC
向配置脚本添加依赖项。它们根本没有被检测到。
但是,我可以在提供的.--with-sdl-prefix
没有成功,我尝试导出LDFLAGS
和CPPFLAGS
.
make && make install
我想知道在执行标准命令之前如何实现实际检测到库和标头的结果。
编辑:
通过修改LDFLAGS
和CPPFLAGS
:
我能够部分包含其中一些库,因为以下命令
会给我那个输出:
如您所见,即使我提供了上述导出,也会出现一些警告。
c++ - 使用 SDL_mixer 播放 .ogg 文件时出现问题
我正在尝试使用 SDL 混音器在我的游戏中播放 .ogg 文件。它似乎已正确安装,它在此过程中输出:
如果我没记错的话,这似乎表明 .ogg 文件应该可以工作并且库已正确链接。
但是,当我玩游戏时,.ogg 音乐文件无法播放。它向终端提供以下输出:
此输出是从以下代码行生成的:
有趣的是,Mix_GetError() 似乎没有产生任何输出,即使有错误。
此外,如果我尝试尝试使用 .wav 歌曲文件,它确实可以工作,因此问题似乎特定于 .ogg 文件。
我认为问题与我如何链接库有关,但我已经尝试了一些事情,但我似乎无法修复它。有没有人对我的问题可能是什么原因/我如何解决它们有任何建议?
sdl - SDL_mixer 可以平移吗?
我比较了 SDL_mixer和openAL。我决定使用SDL_mixer因为它很容易处理。 SDL_mixer是非常容易操作的音效和BGM。但这是否对应于平移(左右摆动声音)?
另外,有些文章宣称sdl_mixer有一些问题,但那篇文章没有写具体问题。与OpenAL相比有问题吗?
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
目录的内容:
我期望输出:
相反,我得到:
更新:
显然,我还安装了其他依赖项......
但我不知道如何使用它们。