Ваш цикл вызывает неопределенное поведение, записывая в память, которой вы не владеете, в частности samples[sampleCount]
.Мое лучшее предположение состоит в том, что он воспроизводит либо все нули, либо случайные статические, но ваш компилятор должен выяснить , насколько точно это не удалось.
Это:
sf::Int16* samples = new sf::Int16[sampleCount];
for (sf::Uint64 i = 0; i < sampleCount; i++) {
samples[sampleCount] = sin(((double)i / 44100.0)*M_PI*2.0*440) * volume;
}
должно быть
sf::Int16* samples = new sf::Int16[sampleCount];
for (sf::Uint64 i = 0; i < sampleCount; i++) {
samples[i] = sin(((double)i / 44100.0)*M_PI*2.0*440) * volume;
}