OpenAl mp3循环不起作用

时间:2013-10-09 12:52:00

标签: c++ audio mp3 openal

我正在尝试使用 OpenAl c ++ 项目中播放声音。我想播放一首循环播放的音乐曲目。当文件是 .wav .mp3 320 kbps 时,可以正常运行。但是当尝试使用 .mp3 32 kbps 时,不会循环

另一件事是,如果我在使用.mp3时将 AL_LOOPING 标志设置为true,它将启动1秒,然后重新启动轨道。当播放.wav

时,该标志工作正常

我的代码是

alGenSources(1, &__alSource);
openAlResult = alGetError();
if (openAlResult != AL_NO_ERROR)
{
    return ConvertError(openAlResult);
}

alSourcef (__alSource, AL_PITCH, 1.0);
alSourcef (__alSource, AL_GAIN, 1.0);
alSource3f(__alSource, AL_POSITION, 0.0, 0.0, 0.0);
alSource3f(__alSource, AL_VELOCITY, 0.0, 0.0, 0.0);
alSource3f(__alSource, AL_DIRECTION, 0.0, 0.0, 0.0);
alSourcef(__alSource, AL_ROLLOFF_FACTOR, 0.0);
alSourcei(__alSource, AL_SOURCE_RELATIVE, AL_TRUE);
// only works for WAV
alSourcei(__alSource, AL_LOOPING, AL_TRUE);

openAlResult = alGetError();

if (openAlResult != AL_NO_ERROR)
{
    return ConvertError(openAlResult);
}

有关32kbps格式的.mp3的想法或不会循环的方式吗?

由于

0 个答案:

没有答案