c - 如何像 SDL_Mixer 那样播放多种声音,但在 SDL2 中是原生的?

标签 c audio sdl

在我的最后一个问题中,我想出了如何在 SDL2 中本地播放声音:How to lower the quality and specs of a wav file on linux

我现在遇到的问题是想要模仿 SDL_Mixer 所做的 1 音乐和许多声音。一种理论是我可以使用不同的 channel 、单声道、立体声等来播放多种声音。另一种理论是深入研究 SDL 音频功能并尝试找到播放多种声音的方法。我认为即使使用线程也可能有效,但问题是我发现覆盖默认音频设备似乎删除了我的旧声音。

有没有人这样做过或有任何想法使用带有 WAV 文件的 SDL_OpenAudioDevice 在 SDL2 中播放带有背景音乐的多种声音?

最佳答案

深入研究代码后,答案是不使用 SDL_memset(stream, 0, len);如所述here这使声音静音。乍一看,您可以在不覆盖的情况下混入其他声音。如果我发现答案有变化,稍后会发布。

关于c - 如何像 SDL_Mixer 那样播放多种声音,但在 SDL2 中是原生的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37787928/

相关文章:

audio - MPEG 传输流 音频数据信息

audio - 关于声码器的使用

c++ - 多个 OpenGL 纹理在某些情况下不起作用?

c - C 中指向指针的指针问题

linux - 将音频从浏览器流式传输到 nodejs

c++ - 代码块中的 SDL_ShowSimpleMessageBox 令人困惑的错误、内存不足和 undefined reference

c++ - 敌人不会跟随玩家。 SDL2/C++

创建一个用户空间指针来保存回文并将该指针传递给 copy_from_user(void *to, const void __user *mypointer, unsigned long count)

c - 在C语言中,变量如何存储两个值?

c - 如何通过node js addon-api将对象传递给c?