Познавательный блог  

Гугль

Архивы

Генерация звука на C++

Генерация звука на C++ или как заставить звучать и даже петь Спикер в компьютере. Для генерации звукового сигнала нам понадобится WinAPI функция Beep(). Эта функция воспроизводит звук.

BOOL Beep
(
DWORD dwFreq, // частота звука
DWORD dwDuration // длительность звучания
);


Воспроизводится всегда по разному. В случае Windows 98 воспроизводится системный звук SystemDefault, то есть эти параметры частоты и длительности игнорируются. В Windows NT действительно воспроизводится указанный звук.Можно мутить целые мелодии.

В случае успеха возвращает ненулевое значение.

// TestAPI.cpp : Defines the entry point for the console application.#include "stdafx.h"

#include "windows.h"
#include "iostream.h"
void main()
{
if (Beep(0,0))
cout << "beep" << endl;
else
cout << "error beep" << endl;
}

За инфу спасибо http://www.netcode.ru/

Комментарии

Комментарий от Виталий [ Март 26, 2018, 21:33 ]

Спасибо большое!
Я уже «Джентельмены удачи» намутил:
#include
int Do(DWORD dur2)
{
Beep(650, dur2);
}
int Re(DWORD dur2)
{
Beep(730, dur2);
}
int Mi(DWORD dur2)
{
Beep(820, dur2);
}
int Fa(DWORD dur2)
{
Beep(870 , dur2);
}
int Sol(DWORD dur2)
{
Beep(970, dur2);
}
int La(DWORD dur2)
{
Beep(1100 , dur2);
}
int Ci(DWORD dur2)
{
Beep(1230, dur2);
}
int Do_(DWORD dur2)
{
Beep(1300 , dur2);
}

int main(int argc, char** argv) {

int i =400;
Mi(i);
Fa(i);
Mi (i);
Re(i);
Mi(i);
Do(i);
Sleep(300);
Mi(i);
Fa(i);
Mi(i);
Re(i);
Mi(i);
Do(i);

Sleep(300);
Mi(i);
Do_(i);
Ci(i);
La(i);
Mi(i);
Sol(i);
Fa (i);
Mi (i);
Fa(i);
Mi(i);
Re(i);

return 0;
}
Правда, частично, не так как надо, но радости — море!
Частоту множил на 10, ибо мой спикер на маленьких частотах не работает.

Написать комментарий








Поиск по сайту

Страницы

Свежие записи

Гугль

Мета

Счетчики


Rambler's Top100

Рубрики

  Разработка и дизайн — StvPromo.ru