问题标签 [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++ - 错误:无法将参数 '1' 的 'void (CApp::*)()' 转换为 'void (*)()' 到 'void Mix_HookMusicFinished(void (*)())'
我正在尝试使用 SDL 和 SDL_Mixer 为音频创建 C++ 应用程序,并尝试遵循本教程。但是,使用 SDL_Mixer 的 Mix_HookMusicFinished() 不起作用,给出错误:'void (CApp::)()' 类型的参数与 'void (*)()' 不匹配
我研究过这个错误,问题似乎是 cleanMusic 是 CApp 的成员函数。但是,我不知道如何解决这个问题,因为大多数与此类似的问题都以 pthread_create() 为中心。我的 cleanMusic() 函数需要能够访问 music_ 这是 CApp 的私有变量。如何解决错误?
这是 CApp.h、CApp::handleKeyEvents() 和 CApp::cleanMusic() 的代码。如果您需要看其他内容,请告诉我。
CApp.h
CApp::handleKeyEvents()
CApp::cleanMusic()
c++ - SDL_mixer 没有声音
我阅读并尝试了该主题的所有其他帖子,但没有任何帮助。当我尝试使用 Mix_PlayChannel() 播放音乐时,我没有收到错误,也没有听到任何声音!我现在尝试了几个小时,但没有任何帮助。程序就愉快地结束了。但是没有声音!我正在使用 Ubuntu 12.04 64 位。
谢谢!
[编辑]
这是我使用的代码:
我尝试了 PlayMusic() 和 Mix_FadeInChannelTimed()。两个文件均已正确加载但未播放。声音没有静音,wav 文件可以用 aplay 或其他工具播放。我用 alsamixer 检查所有通道都是打开的并且不是太低。
sdl - 如何在 CodeBlocks 中设置其他 SDL 库?
我想设置 SDL_Image、SDL_Mixer 和 SDL_TTF,但它似乎不起作用。我正在关注 Lazy Foo 的 SDL 教程,并尝试按照他所说的进行设置,但它不起作用。我将所有包含文件放入包含文件夹,并将所有 lib 文件放入 lib 文件夹。我发现lib文件夹中有x86和x64文件夹。当我尝试 x64(因为我有一个 64 位系统)时,一切正常,CodeBlocks 甚至告诉我建议(比如当我写“img”时,它显示了一个建议“IMG_Load”,但是当我开始编译我的代码时,发生这种情况:http://puu.sh/3Eqa5.png当我尝试使用 x86 版本时,它不起作用,因为弹出了一些 SDL.exe 错误。
我真的不知道是什么问题!任何人都可以帮忙吗?
c++ - SDL C++ 程序在大约 12 秒后持续崩溃
我目前正在用 C++ 中的 SDL 制作一个简单的游戏。当我使用命令行在 Ubuntu 中编译和运行游戏时,游戏运行完美,没有任何问题。但是,当我尝试在 Windows 7 中使用 Codeblocks 编译相同的代码时,程序每次在大约 12 秒后崩溃。我已经使用 GDB 搜索了与内存相关的问题,并检查了所有资产(图像、音乐等)是否都在正确的目录中,但是没有任何东西可以帮助解决这个问题。在 Windows 中编译 SDL 或 C++ 代码时,我是否缺少一些在 Linux 中不需要的东西?
任何帮助是极大的赞赏。
这是我的代码的链接: https ://www.dropbox.com/s/gebuas2xc9esq82/src.zip
使用以下行仅编译 main.cpp 文件: g++ -o main main.cpp -lSDL -lSDL_image -lSDL_mixer -lSDL_ttf
您必须安装 SDL、SDL_image、SDL_mixer 和 SDL_ttf 才能编译此代码。
c++ - 如何在 SDL_Mixer 中使用 Fluidsynth 进行 MIDI 播放?
我一直在尝试通过将 FluidSynth 与 SDL_Mixer 一起使用来解决这个问题。
我在 Windows 上使用最新版本 SDL_Mixer 1.2.12(来自官方网站的 DLL)和 FluidSynth 1.1.6(来自这里的 DLL ),它们应该可以相互配合。
我已根据 SDL_Mixer 将 FluidSynth DLL 重命名为“libfluidsynth.dll”,并将其放在“SDL_Mixer.dll”旁边。我已经通过 SDL_SetSoundFonts()、SDL_SOUNDFONTS 甚至 SDL_putenv() 传递了 sf2 的绝对和相对路径。我试过在 Mix_OpenAudio() 之前和之后拨打电话。
但是,当我通过 SDL_Mixer 播放 MIDI 文件时,我仍然只能得到默认的 Timidity++ 输出。Mix_GetError() 不返回任何消息。我错过了什么?
sdl-2 - SDL_mixer:Mix_LoadMUS 不工作
所以当我加载这样的音乐时:
它返回 NULL 并且不播放声音。
但是,如果我使用相同的路径加载 wav:
它播放声音。
更糟糕的是,它以前可以工作,而我没有触及这部分代码。
有人可以帮助我,我将不胜感激。
c++ - 使用 sdl_mixer 生成音调在 ubuntu 12.04 64 位中因分段错误而退出
我必须在大学写一个简单的合成器,它使用 sdl_mixer 来生成正弦波。我从老师那里得到了一个代码,它可以在 Windows 上正常工作,但在 ubuntu 中它会因分段错误而退出。我安装了 sdl_mixer1.2-dev 和 sdl1.2-dev 软件包。我尝试了一个使用 sdl_audio 生成音调的代码。它工作得很好,但我听说对于多声道播放,sdl_mixer 是解决方案。代码的 getch() 部分运行良好,问题出在声音管理器部分。
有人可以帮我解决这个问题吗?
这是我的代码:
提前谢谢你的帮助。
问候,伊斯特万·维莱吉
c++ - 如何在 SDL 中同时播放多个 MP3 文件?
我想在 SDL 中播放多个 MP3 文件。使用SDL_Mixer
,我可以播放一个 MP3 文件。
但是当我试图与第一个一起播放另一个 MP3 时,第一个停止并播放第二个。有人可以帮忙吗?
c++ - 读取 MIDI 文件
我正在尝试帮助一个朋友创建一个程序。我们需要读取一些 MIDI 文件数据。我现在已经搜索了 2 个小时,但我似乎真的找不到任何直接的方法。
我已经下载并希望正确安装 SDL_mixer。并设法用这个播放一首歌:
所以,我想知道的是......是否可以使用它来提取数据?我需要诸如注意时间之类的东西。我真的不知道它们的结构,但我想访问数据。你如何建议我尝试这样做?
谢谢!
c++ - SDL/C++ 没有音频
一直在关注如何让音频与我的游戏一起工作的教程,认为某处出了点问题,因为它根本没有播放任何声音。不是 100% 哪里出了问题,但有谁知道我做错了什么以及如何解决它?