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

c++ - 未找到 SDL_Mixer dll

我在 Visual Studio 2019 中制作了一个游戏。为此,我在 Visual Studio 中使用 NuGet 安装程序设置了自己的 SDL2、SDL_image、SLD_ttf。现在我也安装了 SDL_mixer,将所有混音器 .dll 文件复制到与我的程序相同的文件夹中(对其他 SDL 组件也做了同样的事情,这很有效),但只有混音器给我错误“未解析的外部符号” .

我不明白为什么 SDL_mixer 这样做,而其他 SDL 没有。

如果您知道为什么会发生这种情况,请告诉我。

下载和复制的 .ddl 文件有:
libFLAC.dll、libmodplug.dll、libogg.dll、libvorbis.dll、libvorbisfile.dll、SDL2_mixer.dll、smpeg.dll

0 投票
0 回答
66 浏览

c - 音乐播放器程序在 Xbox 上冻结

我正在制作一个名为 XMusic 的音乐播放器,您可能从我在此处发布的另一个问题中了解到。如果你不这样做,我正在为 PC 和 Xbox 制作它(使用 nxdk),它使用 SDL_mixer 库。我的问题是它没有打开任何文件来播放它,但这是一个不同的问题。从昨天开始,我还遇到了一个问题,即在选择文件(甚至使用固定文件)后它只是冻结。这是一个包含上述两个问题的示例(来自这里和我的另一个问题)

在 XQEMU(一个低级仿真器)上运行的 XMusic 的调试版本上运行 GDB 显示它被 SDL_mixer 的 3 个函数卡住了。Mix_HaltChannel()、Mix_QuerySpec() 和 Mix_AllocateChannels()。就像它正在循环所有这 3 个。

XMusic的完整代码:https://github.com/kosmas12/My-code-stuff/tree/nxdk/Music%20player%20(C)

0 投票
1 回答
563 浏览

c++ - Mix_Init 和 Mix_OpenAudio SDL 有什么区别?

我看过很多 SDL_mixer 的教程,但都没有使用 Mix_Init 函数。我在文档页面https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer.html上看到了这个 Mix_Init 函数

本教程仅使用名为 Mix_OpenAudio 的函数来初始化 SDL_mixer。

我的问题是,如果我调用函数 Mix_OpenAudio,它会自动调用函数 Mix_Init 还是不需要调用函数 Mix_Init。

是 Mix_Init 函数只是某种类型的检查器函数。

0 投票
1 回答
392 浏览

c++ - SDL2 pcm 音频播放太快

我编写了一个库来读取旧游戏中的无符号 8 位 pcm 音频,并使用以下代码将原始数据填充到 Mix_Chunk 中:

我知道采样率是 10989HZ,但是当我使用它设置采样率时,Mix_OpenAudio(10989, AUDIO_U8, 2, 2048 它播放的声音太快了,是我设置的采样率错误还是只是 SDL2 不喜欢 PCM?

如果我将它转储到一个文件中并用 Audacity 打开它,它就可以正常播放

0 投票
0 回答
44 浏览

c++ - SDL 混音器音频随机变大

我使用 SDL 2.0 和 SDL_Mixer 编写了一个 C++ 游戏。有时在播放音频时,声音会随机变大。似乎是同时播放多个声音,但我不知道为什么。

这是我调用的两个函数来在我的游戏中播放声音:

0 投票
1 回答
32 浏览

audio - 如何修复 SDL Mixer“不支持的块对齐”错误?

我正在使用 SDL2 和 SDL 混音器库来尝试播放 WAV 文件。调用该Mix_LoadWAV_RW函数后,我得到以下错误字符串:"Unsupported block alignment"如果它很重要,我会注意到我是*SDL_RWops通过调用SDL_RWFromMem作为字节数组嵌入到我的源代码中的 WAV 文件得到的。也就是说,前几个字节是包含文本“RIFF: 和“WAVE”的 WAV 标头。

我猜这意味着我需要将我的 WAV 文件重新编码为支持块对齐的子格式,但这主要是猜测。鉴于我的猜测,我似乎需要知道支持哪些块对齐。我无法在文档中找到有关支持哪些对齐的任何相关信息。

我还尝试在SDL 混合器源代码的 github 镜像中搜索“不支持的块对齐”,但没有得到任何结果。这是否意味着错误来自 SDL Mixer 的某些依赖项或其他东西?

有没有人知道更多关于这个错误的信息,我可以在哪里找到关于这个错误的更多信息,或者甚至是关于我应该如何更改我的 WAV 文件以便在这里工作的合理猜测?

0 投票
0 回答
178 浏览

c++ - 如何使用 sdl-mixer 在循环之间设置睡眠?

我正在尝试使用 Ubuntu 18.04 中的 SDL2_Mixer 库播放音乐。

我成功地播放 .wav 文件循环,如下所示。

我的beep.wav反复发挥很好。但是,提示音文件立即播放,警报声太大。(例如:哔!哔!哔!)

有没有办法在哔哔声重复循环之间设置睡眠?(例如:哔!...哔!...哔!...)

0 投票
0 回答
61 浏览

c - 如何使用 SDL2-mixer-dev 获取 MP3 的持续时间

我在 C 中使用 SDL2-mixer-dev。我试图以秒/毫秒为单位获得 MP3 的总长度,但对我来说似乎没有直接的解决方案来实现这一点。我研究了 SDL Mixer X,它有一个返回 MP3 持续时间的功能,但我无法安装它。有任何想法吗?

0 投票
1 回答
135 浏览

c++ - c++ SDL_mixer 错误,Mix_LoadWAV_RW 与 NULL src

出于某种原因,并非所有声音都正常工作。Mix_GetError() 返回此错误消息Mix_LoadWAV_RW with NULL src

我加载了 57 个不同的声音文件,其中 8 个无法正常工作,它们都给出了相同的错误。在此处输入图像描述

不起作用的 8 个声音是图片最底部的 8 个。奇怪的是,不起作用的 8 在底部并且没有散开。您可以加载多少或多少 KB 的声音有限制吗?

0 投票
1 回答
38 浏览

c++ - SDL_Mixer Mix_LoadWAV 找不到 RIFF 或 WAVE 标识符

自去年 12 月以来,我曾问过这个问题,但到处都被忽略了,所以我想最后一次问这个问题。

我正在尝试加载音频文件(作为 Mix_Chunk),但收到以下错误消息:

“找不到 RIFF 或 WAVE 标识符(不是波形文件)”

我尝试了我所知道的 Audacity 中的所有导出设置,我在这里做错了什么?

我做的一切都是正确的,我什至使用十六进制编辑器进行了检查,并且标识符在那里。 十六进制编辑器中的文件

我尝试的任何文件格式都会出现此问题。FOpen 也能够完美地读取标识符字节,问题可能是什么?

我正在使用 gcc 在 Ubuntu 机器上编译。我使用包管理器来安装所有东西。

编码:

在可执行文件上使用 ldd 会给我这个输出: