Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 152, средняя оценка - 4.90
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
#1

Beep() - музыка из динамика - C++

28.01.2011, 18:36. Просмотров 21069. Ответов 25
Метки нет (Все метки)

Сидел на форуме и на толкнулся на функцию Beep(). Есть ли у кого нибудь исходники с музыкой из встроенных динамиков в ПК??=)
Вот пример "Елочка"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <windows.h>
 
int main() {
    Beep(247, 500);
    Beep(417, 500);
    Beep(417, 500);
    Beep(370, 500);
    Beep(417, 500);
    Beep(329, 500);
    Beep(247, 500);
    Beep(247, 500);
    Beep(247, 500);
    Beep(417, 500);
    Beep(417, 500);
    Beep(370, 500);
    Beep(417, 500);
    Beep(497, 500);
    Sleep(500);
    Beep(497, 500);
    Beep(277, 500);
    Beep(277, 500);
    Beep(440, 500);
    Beep(440, 500);
    Beep(417, 500);
    Beep(370, 500);
    Beep(329, 500);
    Beep(247, 500);
    Beep(417, 500);
    Beep(417, 500);
    Beep(370, 500);
    Beep(417, 500);
    Beep(329, 500);    
    system("pause >> void");
}
Добавлено через 4 часа 18 минут
Вот ещё один пример :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#include <iostream>
#include <windows.h>
 
int main() {
    Beep(1480,200);   
    Beep(1568,200);   
    Beep(1568,200);   
    Beep(1568,200);      
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);         
    Beep(369.99,200);   
    Beep(392,200);   
    Beep(369.99,200);   
    Beep(392,200);   
    Beep(392,400);   
    Beep(196,400);       
    Beep(739.99,200);  
    Beep(783.99,200);   
    Beep(783.99,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(880,200);   
    Beep(830.61,200);   
    Beep(880,200);   
    Beep(987.77,400);  
    Beep(880,200);   
    Beep(783.99,200);   
    Beep(698.46,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(880,200);   
    Beep(830.61,200);   
    Beep(880,200);   
    Beep(987.77,400);   
    Sleep(200);     
    Beep(1108,10);
    Beep(1174.7,200);
    Beep(1480,10);
    Beep(1568,200);   
    Sleep(200);
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(783.99,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(880,200);   
    Beep(830.61,200);   
    Beep(880,200);   
    Beep(987.77,400);      
    Beep(880,200);   
    Beep(783.99,200);   
    Beep(698.46,200);   
    Beep(659.25,200);   
    Beep(698.46,200);   
    Beep(784,200);   
    Beep(880,400);   
    Beep(784,200);   
    Beep(698.46,200);   
    Beep(659.25,200);    
    Beep(587.33,200);   
    Beep(659.25,200);   
    Beep(698.46,200);   
    Beep(784,400);   
    Beep(698.46,200);   
    Beep(659.25,200);   
    Beep(587.33,200);       
    Beep(523.25,200);   
    Beep(587.33,200);   
    Beep(659.25,200);   
    Beep(698.46,400);   
    Beep(659.25,200);   
    Beep(587.33,200);   
    Beep(493.88,200);   
    Beep(523.25,200);    
    Sleep(400);
    Beep(349.23,400);   
    Beep(392,200);   
    Beep(329.63,200);   
    Beep(523.25,200);   
    Beep(493.88,200);   
    Beep(466.16,200);       
    Beep(440,200);   
    Beep(493.88,200);   
    Beep(523.25,200);   
    Beep(880,200);   
    Beep(493.88,200);   
    Beep(880,200);   
    Beep(1760,200);   
    Beep(440,200);      
    Beep(392,200);   
    Beep(440,200);   
    Beep(493.88,200);   
    Beep(783.99,200);   
    Beep(440,200);   
    Beep(783.99,200);   
    Beep(1568,200);   
    Beep(392,200);       
    Beep(349.23,200);   
    Beep(392,200);   
    Beep(440,200);   
    Beep(698.46,200);   
    Beep(415.2,200);   
    Beep(698.46,200);   
    Beep(1396.92,200);   
    Beep(349.23,200);      
    Beep(329.63,200);   
    Beep(311.13,200);   
    Beep(329.63,200);   
    Beep(659.25,200);   
    Beep(698.46,400);   
    Beep(783.99,400);      
    Beep(440,200);   
    Beep(493.88,200);   
    Beep(523.25,200);   
    Beep(880,200);   
    Beep(493.88,200);   
    Beep(880,200);   
    Beep(1760,200);   
    Beep(440,200);       
    Beep(392,200);   
    Beep(440,200);   
    Beep(493.88,200);   
    Beep(783.99,200);   
    Beep(440,200);   
    Beep(783.99,200);   
    Beep(1568,200);   
    Beep(392,200);       
    Beep(349.23,200);   
    Beep(392,200);   
    Beep(440,200);   
    Beep(698.46,200);   
    Beep(659.25,200);   
    Beep(698.46,200);   
    Beep(739.99,200);   
    Beep(783.99,200);   
    Beep(392,200);   
    Beep(392,200);   
    Beep(392,200);   
    Beep(392,200);   
    Beep(196,200);   
    Beep(196,200);   
    Beep(196,200);       
    Beep(185,200);   
    Beep(196,200);   
    Beep(185,200);   
    Beep(196,200);   
    Beep(207.65,200);   
    Beep(220,200);   
    Beep(233.08,200);   
    Beep(246.94,200);
    /*for(int i = 0; i < 100; i++)
            printf("\a");*/    
    system("pause >> void");
}
Неужто ни у кого нету??? Или ссылки какие нибудь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Somebody
2786 / 1600 / 145
Регистрация: 03.12.2007
Сообщений: 4,189
Завершенные тесты: 1
28.01.2011, 18:52     Beep() - музыка из динамика #2
Надо, наверное, найти, какая нота имеет какую частоту:
Вот в Википедии есть
а дальше искать ноты.
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
28.01.2011, 18:57  [ТС]     Beep() - музыка из динамика #3
Надо, наверное, найти, какая нота имеет какую частоту:
Вот в Википедии есть а дальше искать ноты.
Ага, если я бы в них еще что то понимал бы)))
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
28.01.2011, 22:38     Beep() - музыка из динамика #4
начало из марио=)
C++
1
2
3
4
5
6
7
8
9
10
11
Beep (659.26,200);
          Beep (659.26,200);
          Sleep (200);
          Beep (659.26,200);
          Sleep (100);
          Beep (523.26,200);
          Beep (659.26,200);
          Sleep(200);
          Beep (783.98,200);
          Sleep(400);
          Beep (391.99,200);
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
28.01.2011, 22:48     Beep() - музыка из динамика #5
пианино
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
void pianino (int freq){
                switch(getch()){
        case 'a':{system("cls");
                         Beep(500,freq);
                         }
                         break;
                         case 's':{system("cls");
                         Beep(523.25,freq);
                         }
                         break;
                         case 'd':{system("cls");
                         Beep(587.33,freq);
                         }
                         break;
                                 case 'f':{system("cls");
                         Beep(659.26,freq);
                         }
                         break;
                                 case 'g':{system("cls");
                         Beep(698.46,freq);
                         }
                         break;
                                 case 'h':{system("cls");
                         Beep(783.99,freq);
                         }
                         break;
                                 case 'j':{system("cls");
                         Beep(880,freq);
                         }
                         break;
                                 case 'k':{system("cls");
                         Beep(987.77,freq);
                         }
                         break;
                
        }
}
Добавлено через 4 минуты
а у меня что то звука нет..ни в наушниках, ни из сис.динамика
Iron Bug
22 / 22 / 0
Регистрация: 06.12.2010
Сообщений: 125
28.01.2011, 23:10     Beep() - музыка из динамика #6
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
а у меня что то звука нет..ни в наушниках, ни из сис.динамика
это под вендой работает вроде, а под линём надо через управление пищалкой делать. я помню, что эта задача всплывала и её уже решали.
вот одно из решений, кстати:
http://www.frank-buss.de/beep/index.html
но там, помнится, были какие-то траблы даже с таким решением. нужно было какой-то особый драйвер для звука ставить или что-то вроде.
x1Mike7x
216 / 129 / 6
Регистрация: 06.11.2010
Сообщений: 234
29.01.2011, 00:30     Beep() - музыка из динамика #7
В "Ёлочке" как-то немного нелогично растянут код, потому что, например, этот фрагмент:
C
1
2
3
4
5
6
    Beep(497, 500);
    Beep(277, 500);
    Beep(277, 500);
    Beep(440, 500);
    Beep(440, 500);
    Beep(417, 500);
...можно переписать так:
C
1
2
3
4
    Beep(497, 500);
    Beep(277, 1000);
    Beep(440, 1000);
    Beep(417, 500);
но это такое...))
Iron Bug
22 / 22 / 0
Регистрация: 06.12.2010
Сообщений: 125
29.01.2011, 00:38     Beep() - музыка из динамика #8
Цитата Сообщение от x1Mike7x Посмотреть сообщение
В "Ёлочке" как-то немного нелогично растянут код
не, объединять их нельзя. просто между нотами должны быть маленькие паузы. стакатто. примерно по 1/64 длительности "целой" ноты. а то будет каша.
x1Mike7x
216 / 129 / 6
Регистрация: 06.11.2010
Сообщений: 234
29.01.2011, 01:14     Beep() - музыка из динамика #9
Цитата Сообщение от Iron Bug Посмотреть сообщение
не, объединять их нельзя. просто между нотами должны быть маленькие паузы. стакатто. примерно по 1/64 длительности "целой" ноты. а то будет каша.
Ну тогда нужно сделать:
C
1
2
3
    Beep(277, 500);
    Sleep(1.0/64 * 500);
    Beep(277, 500);
потому что не думаю, что пауза (причём незаметная глазом/ухом/горлом/носом) между вызовом функций является по длительности именно "стакатто" =)
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
29.01.2011, 10:22     Beep() - музыка из динамика #10
Iron Bug, я никогда не буду держать в компе линуксВывод,у меня "венда"
dxdy
29.01.2011, 12:49
  #11

Не по теме:

я никогда не буду держать в компе линукс
Не говори "Ап" пока не перепрыгнул

Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
29.01.2011, 14:49  [ТС]     Beep() - музыка из динамика #12
Может у кого нибудь есть исходники?=)
+c+
112 / 22 / 3
Регистрация: 20.11.2010
Сообщений: 1,294
29.01.2011, 15:01     Beep() - музыка из динамика #13
попробуй ради интереса, если хочеш закрепить знания по этому вопросу, придумай что-то похожее на пианино! Что-то в этом роде:
Код
#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000) ? 1 : 0)
#define KEYUP(vk_code)   ((GetAsyncKeyState(vk_code) & 0x8000) ? 0 : 1)
while(!KEYDOWN(VK_ESCAPE))
...
и в цикле обработка клавиш. Можно даже играть и сразу записывать код Beep - герцы в переменную! и потом прослушать запись
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
29.01.2011, 15:03  [ТС]     Beep() - музыка из динамика #14
А есть у кого нибудь готовое?
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,230
Завершенные тесты: 1
29.01.2011, 17:03     Beep() - музыка из динамика #15
Temirlan90, думаю тебе будет лучше скачать Вирт. пианино...там и для проф-ов будет
x1Mike7x
216 / 129 / 6
Регистрация: 06.11.2010
Сообщений: 234
29.01.2011, 18:26     Beep() - музыка из динамика #16
Программа воспроизводящая звуки
alfiya69
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 14
05.02.2011, 18:10     Beep() - музыка из динамика #17
помогите)
мне вообще нужно разработать блок-схему алгоритма и ПРОГРАММУ на языке Ассемблере К580, воспроизводящюю при помощи встроенного генератора мелодию "Кузнечик"
Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
05.02.2011, 18:12  [ТС]     Beep() - музыка из динамика #18
alfiya69, Вам сюда http://www.cyberforum.ru/assembler/
alfiya69
1 / 1 / 0
Регистрация: 11.12.2010
Сообщений: 14
05.02.2011, 18:22     Beep() - музыка из динамика #19
что-то там ничего нет((((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2011, 18:23     Beep() - музыка из динамика
Еще ссылки по теме:
Как вызвать "Beep()" в программе? C++
C++ Динамика
Динамика C++
О сигналах динамика ПК C++
C++ Уменьшение числа(динамика)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Temirlan90
05.02.2011, 18:23  [ТС]     Beep() - музыка из динамика
  #20

Не по теме:

alfiya69, лично, я Вам ничем не могу помочь. Я в ассемблера мало чего понимаю.

Yandex
Объявления
05.02.2011, 18:23     Beep() - музыка из динамика
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru