#include "fmod.h"
#include "fmod_common.h"
#include "fmod_errors.h"
#include <unistd.h>
int main()
{
FMOD_SYSTEM* system;
FMOD_SOUND* sound;
FMOD_CHANNEL* channel;
FMOD_DSP* dsp;
FMOD_System_Create(&system);
FMOD_System_Init(system, 320, FMOD_INIT_NORMAL, nullptr);
FMOD_System_CreateDSPByType(system, FMOD_DSP_TYPE_PITCHSHIFT, &dsp);
FMOD_System_CreateSound(system, "C:/Users/Coder/Desktop/Central park.mp3", FMOD_LOOP_OFF | FMOD_2D, nullptr, &sound);
FMOD_System_PlaySound(system, sound, nullptr, false, &channel);
sleep(2);
FMOD_Channel_SetPitch(channel, 1.2f);
FMOD_DSP_SetParameterFloat(dsp, 0, 1/1.2f);
FMOD_Channel_AddDSP(channel, 0, dsp);
sleep(2);
FMOD_Channel_SetPitch(channel, 1.4f);
FMOD_DSP_SetParameterFloat(dsp, 0, 1/1.4f);
FMOD_Channel_AddDSP(channel, 0, dsp);
sleep(2);
FMOD_Channel_SetPitch(channel, 1.6f);
FMOD_DSP_SetParameterFloat(dsp, 0, 1/1.6f);
FMOD_Channel_AddDSP(channel, 0, dsp);
}
Это простой код, который изменяет скорость воспроизведения звука каждые 2 секунды во время воспроизведения. Скорость воспроизведения меняется нормально, как и ожидалось, но каждый раз, когда я меняю скорость воспроизведения, происходит небольшая остановка (технически, функция FMOD_Channel_AddDSP останавливает звук)
Есть ли способ удалить его, чтобы музыка воспроизводилась без остановки?