gpt4 book ai didi

单击取消暂停 SDL2 音频的声音

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:48 24 4
gpt4 key购买 nike

我第一次使用 SDL_PauseAudio(0) 取消暂停 SDL 音频时,在使用 SDL_OpenAudio() 初始化后,我总是得到一个点击。

我试图通过确保声音的振幅从零开始上升来在我的音频回调中处理这个问题(事实上,现在我只是使用正弦波,相位从 0 开始,所以波形自然从零开始并逐渐上升)但这无济于事。

在调用 SDL_OpenAudio()SDL_PauseAudio(0) 之间我应该做些什么来防止点击?我一直在努力寻找文档中的任何内容。

最佳答案

我解决了这个问题 - 与 SDL 无关。问题出在我的回调代码中。

问题是我已经从使用无符号 16 位整数格式切换到使用有符号 16 位整数。在我的回调中,我将音频计算为 double 然后在输出时转换为 int 格式。当转换为无符号时,涉及将 1.0 添加到我的(-1.0 到 1.0 范围)信号以使其全部为正而不是以 0 为中心。当我切换到有符号音频时,我只是忘记删除 +1.0 - 实际上我的信号有一个 DC偏移量,这导致了 init/close 的不连续。

如果没有我的发布回调和初始化代码,任何人都不可能猜到 - 我认为我的回调代码很好,这是一个库使用问题。

关于单击取消暂停 SDL2 音频的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34963706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com