SDL_mixer WAVE 音频格式质量差
SDL_mixer poor quality with WAVE audio format
我想写一个简单的控制台音乐播放器,它支持.mp3 和.wav 音频格式。
使用 SDL_mixer 播放 .wav 文件会降低声音质量,但使用 mp3 文件则不会。当 .wav 文件开始播放时,有一个连续的 "cracking" 声音,其余的很好。
我已经检查过是wav文件本身的问题还是类似的问题,但不管我用哪个文件,结果总是一样的。我还尝试更改 Mix_OpenAudio 函数中的值,例如频率和块大小。
我也试过在没有 SDL_mixer 的情况下播放声音,但是 SDL_OpenAudio 等等...结果是一样的,MP3 很好 WAVE 不行。
不是我的电脑,用vlc或rythmbox(音频播放器).wav文件播放没有问题。
#include <SDL2/SDL.h>
#include <SDL2/SDL_mixer.h>
using namespace std;
int main()
{
// Music which will be played
Mix_Music* Music = NULL;
// Init
//
// Init SDL Audio
SDL_Init(SDL_INIT_AUDIO);
// Init SDL_mixer
Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 512);
// Load the files
//
// Load the music
Music = Mix_LoadMUS("Star Trek - Deep Space Nine.mp3");
// Play the music
Mix_PlayMusic(Music, 1);
while (Mix_PlayingMusic() == 1)
{
}
// clean up
//
// free the music
Mix_FreeMusic(Music);
// Quit Mixer
Mix_CloseAudio();
// Quit SDL
SDL_Quit();
return 0;
}
我没有收到任何错误消息。
Here 是文件。
所以我现在对 Windows 进行了同样的尝试,它在那里工作没有问题,所以这可能是编译器问题或者我不知道。很奇怪。我会保持原样,只做 .mp3。
很多人似乎都有这种问题。这个问题其实和播放Audio的格式有关。您需要让解码器将这些信息扔给您,或者只需要使用一种音频格式。
我想写一个简单的控制台音乐播放器,它支持.mp3 和.wav 音频格式。 使用 SDL_mixer 播放 .wav 文件会降低声音质量,但使用 mp3 文件则不会。当 .wav 文件开始播放时,有一个连续的 "cracking" 声音,其余的很好。
我已经检查过是wav文件本身的问题还是类似的问题,但不管我用哪个文件,结果总是一样的。我还尝试更改 Mix_OpenAudio 函数中的值,例如频率和块大小。
我也试过在没有 SDL_mixer 的情况下播放声音,但是 SDL_OpenAudio 等等...结果是一样的,MP3 很好 WAVE 不行。
不是我的电脑,用vlc或rythmbox(音频播放器).wav文件播放没有问题。
#include <SDL2/SDL.h>
#include <SDL2/SDL_mixer.h>
using namespace std;
int main()
{
// Music which will be played
Mix_Music* Music = NULL;
// Init
//
// Init SDL Audio
SDL_Init(SDL_INIT_AUDIO);
// Init SDL_mixer
Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 512);
// Load the files
//
// Load the music
Music = Mix_LoadMUS("Star Trek - Deep Space Nine.mp3");
// Play the music
Mix_PlayMusic(Music, 1);
while (Mix_PlayingMusic() == 1)
{
}
// clean up
//
// free the music
Mix_FreeMusic(Music);
// Quit Mixer
Mix_CloseAudio();
// Quit SDL
SDL_Quit();
return 0;
}
我没有收到任何错误消息。
Here 是文件。
所以我现在对 Windows 进行了同样的尝试,它在那里工作没有问题,所以这可能是编译器问题或者我不知道。很奇怪。我会保持原样,只做 .mp3。
很多人似乎都有这种问题。这个问题其实和播放Audio的格式有关。您需要让解码器将这些信息扔给您,或者只需要使用一种音频格式。