我在运行 Ubuntu-MATE 的 raspberry-pi 3 上编写应用程序。 我在带有 SDL 和 SDL_Mixer 的 code::blocks 上使用 C++ 来播放 mp3 文件(我仍在使用 SDL 库的 v1.2)。
当我初始化 SDL 时我没有收到任何错误,但是当我用这一行初始化 SDL_Mixer 时:
Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 1, 1024)
它返回 -1,所以我通过 Mix_GetError() 方法收到错误消息,它给了我一条“无法设置 PulseAudio 流”消息。
我不知道 PulseAudio 是什么,所以经过一些研究我了解到它用于网络流式音频流。 为什么在 lib 的初始化时需要这个模块,有没有办法绕过它?我不打算在我的应用中使用网络功能。
另外,我检查了 “sudo apt-get install pulseaudio”
以确保我没有遗漏一些库,但我的数据包管理器似乎表明我有最新的更新.. .
任何线索都会对我有很大帮助!
谢谢
最佳答案
我终于自己解决了...这是一个该死的错字。 我为频率初始参数写了 444100 而不是 44100 :/
现在一切都正确加载(对于 SDL,我只是为那些提出要求的人使用了 SDL_INIT_EVERYTHING
)。
顺便说一句,我只使用SDL来使用SDL_Mixer;我想 SDL_Mixer 不能独立运行,那么我可以在 SDL 中加载哪个模块来仅初始化基础知识?
另外,现在我很好奇:为什么 SDL_Mixer 需要 PulseAudio 来初始化?
谢谢
关于c++ - 初始化 SDL_Mixer 给出错误 "Can' t 设置 PulseAudio 流”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720881/