我正在使用 SDL2_mixer 从 .WAV 文件播放测试曲调,但遇到了一种奇怪的声音损坏。这听起来类似于辅助电缆部分断开连接但它出现在录音中。它同时存在于 macOS 和 Linux 上,并且在每个系统中都非常一致——在每个循环中听起来都一样,并且每次都在同一点出现——但它们之间是不同的。
源音频文件 (Title.wav) 和在 Linux 上播放的录音 (TitleScrewed.wav) 上传到这里:https://drive.google.com/drive/folders/177amn5C13RvfII7gbFx5ztuDGQRe49Mh?usp=sharing
以下代码可能会导致我的问题:
#include <SDL2/SDL.h>
#include <SDL2/SDL_mixer.h>
int main(void) {
SDL_Init(SDL_INIT_EVERYTHING);
Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048);
Mix_Chunk* chunk = Mix_LoadWAV("Title.wav");
Mix_PlayChannel(-1, chunk, -1);
while(1) {
SDL_Event event = {0};
while(SDL_PollEvent(&event)) {
switch(event.type) {
case SDL_QUIT: return 0;
default: break;
}
}
}
}