首页 热点资讯 义务教育 高等教育 出国留学 考研考公

C语言中sound函数可以播放的声音是什么声音

发布网友 发布时间:2022-04-25 12:24

我来回答

5个回答

热心网友 时间:2022-06-12 14:12

这个函数是直接操作PC的喇叭,让其以一定的频率发出声音
参数为频率,可以这样用 sound(100);
改变参数大小可以发出不同的音

C语言中的这个函数是不能用来播放指定的音频文件的,如果需要,可以调用系统API函数。

热心网友 时间:2022-06-12 14:12

是指playsound吧
可以播放wav文件

热心网友 时间:2022-06-12 14:13

函数:
void
delay(uint
i)
{
while(i)i--;
}
这样的延迟设计很不好,因为受影响的因素太多。
首先就是机器的cpu频率,快的cpu执行i--这句的机器时间短,慢的机器就很慢。
其次是当前机器的负荷情况,负荷较重时,系统给当前进程分配的cpu时间少,执行这些语句的机会就少,延迟就增加了。
影响因素还有很多在此不再列举。
做延迟程序主要有以下几种方法:
1.
定时器法
用cwnd::settimer()函数设置定时器,当定时时间到时发送wm_timer消息触发cwnd::ontimer()函数,重载它把自己的代码放进去。
settimer()参数为毫秒,此方法定时不高,受系统负荷影响。
2.
休眠法
调用系统api函数sleep(2000);
参数单位是毫秒,2000代表2秒。
此方法主要收到当前系统负荷的影响,定时不太准确
3.
时刻比较法
定义两个ctime变量,一个用于记录起始时刻,另一个放在循环体中不断刷新当前时刻,并减去起始时刻,自己计算是否到时间了。
此方法因ctime变量只能获取秒级的时刻,且收到系统负荷影响,精度也较低。
4.
cpu滴答查询法
利用两个api函数queryperformancefrequency()和queryperformancecounter()分别获取cpu的频率和cpu滴答数,依时刻比较法自己计算时刻差值。
因为cpu滴答数是等于cpu的机器周期的,所以是windows系统里最最精确的计时方法了。现在的cpu主频都是ghz级的,因此理论上计时精度可以到纳秒。
只要系统负荷不太重,此法可用于极其精确的延时程序。
因为windows并不是实时操作系统,因此对于太过精确的计时,还是*为力的。

热心网友 时间:2022-06-12 14:13

我来看答案的

热心网友 时间:2022-06-12 14:14

.wav格式

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com