Нашел вот такой код (комментарии не мои) :
#include <windows.h>
#include <fstream>
#include <iostream>
const int len = 6000 * 10; // 10 секунд
// Вот тут самая "умная" часть, это параметры, включая длительность битрейт и битность.
// Во всё это я не вникал, это нужно только для создания файла.
byte buffer[len] = {0x52, 0x49, 0x46, 0x46, 0xfa, 0x3c, 0x00, 0x00, 0x57, 0x41, 0x56, 0x45, 0x66, 0x6d, 0x74, 0x20, 0x10, 0x00, 0x00, 0x00,
0x01, 0x00, 0x01, 0x00, 0x70, 0x17, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x64, 0x61, 0x74, 0x61, 0xd5, 0x3c, 0x00, 0x00};
int main()
{
int i = 42, l = len - 1, r;
while(++i < l) // Простой разброс семплов, вниз-вверх, амплитуда сигнала не будет больше 42х..
{
r = rand() % 3;
if(r == 0)
buffer[i] = 127;
else if(r == 1)
buffer[i] = 128;
else
buffer[i] = 129;
}
buffer[l] = 0;
std::ofstream file;
file.open("111.wav");
file.write((char*)&buffer[0], 5000*10);
file.close();
return 0;
}
И что бы прослушать результат нужно открывать файл 111.wav , но хотелось бы прослушать это после генерации прямо в программе , и без сохранения в файл , а как ?