查看: 961|回复: 10
|
C++能做出声音来吗?
[复制链接]
|
|
发表于 29-3-2006 01:42 AM
|
显示全部楼层
在你要的句子后面加 \a 就可以了。。
example"
cout << "ABC\a"; |
|
|
|
|
|
|
|

楼主 |
发表于 29-3-2006 04:45 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 29-3-2006 05:53 PM
|
显示全部楼层
原帖由 eugene_koo 于 29-3-2006 04:45 PM 发表
>>>>>>能有高低音的吗?
不能,那是使到你电脑mobo内置的喇叭出声罢了,内置的那个喇叭的声音是很差一下的。 |
|
|
|
|
|
|
|
发表于 29-3-2006 10:40 PM
|
显示全部楼层
我告诉你C++能写出 OPERATING SYSTEM, WARCRAFT3 等用C++ 写的,你相信吗? |
|
|
|
|
|
|
|
发表于 29-3-2006 11:44 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 29-3-2006 11:47 PM
|
显示全部楼层
原帖由 zuying1985 于 29-3-2006 01:42 AM 发表
在你要的句子后面加 \a 就可以了。。
example"
cout << "ABC\a";
哇!, 真的可以哦。。哈哈,  |
|
|
|
|
|
|
|
发表于 29-3-2006 11:48 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 30-3-2006 02:16 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 4-4-2006 11:42 PM
|
显示全部楼层
如果你用的 operating system 是 ms window,
还有你的 compiler 是 ms visual c++ 6.0,
你可以尝试以下的 function:
Library: <stdlib.h>
Function: _beep(int frequency, int millisecond)
Frequency,控制 system speaker 声音的高低音。
Millisecond,声音的长度。
以上的 code,会发出一个为 440Hz frequency 的声音。
长度为 2000 milliseconds,即 2 seconds。
当然,如果你要发出 do,re,mi 的话,
你必须知道这些音符的 frequency。
不过,发出来的声音都是 monotone 的。嘻嘻。
举例:
- #include <stdlib.h>
- #define C 262
- #define CS 277
- #define D 294
- #define DS 311
- #define E 330
- #define F 349
- #define FS 370
- #define G 392
- #define GS 415
- #define A 440
- #define AS 466
- #define B 494
- void main()
- {
- _beep(C, 500);
- _beep(D, 500);
- _beep(E, 500);
- _beep(F, 500);
- _beep(G, 500);
- _beep(A, 500);
- _beep(B, 500);
- _beep(C * 2, 500);
- }
复制代码
注解:
被 define 的 constants 是音符的 frequency。
当某个音符的 frequency 被乘于 2 时,
你会得到下一个音阶的同样音符。
比如说,C 音的 frequency 是 262。
那么,高一个音阶的 C 就是,262 x 2 = 524。
再高一个音阶的 C 就是,524 x 2 = 1048。
以下的 frequency table 可能可以帮助到你:
Key Frequency (to the nearest integer)
Oct1 Oct2 Oct3 Oct4
=== ==== ==== ==== ====
C 262 524 1048 2096
C# 277 554 1108 2216
D 294 588 1176 2352
D# 311 622 1244 2488
E 330 660 1320 2640
F 349 698 1396 2792
F# 370 740 1480 2960
G 392 784 1568 3136
G# 415 830 1660 3320
A 440 880 1760 3520
A# 466 932 1864 3728
B 494 988 1976 3952 |
|
|
|
|
|
|
|
发表于 11-4-2006 05:23 PM
|
显示全部楼层
但是为什么我写出来的program只能在dos run de?? |
|
|
|
|
|
|
| |
本周最热论坛帖子
|