c语言sound函数 c语音函数怎么用

c语言调用声音的函数?

两个声音函数sound(),nosound()和延迟函数delay()由函数库

创新互联专注于峨边彝族网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供峨边彝族营销型网站建设,峨边彝族网站制作、峨边彝族网页设计、峨边彝族网站官网定制、微信平台小程序开发服务,打造峨边彝族网络公司原创品牌,更为您提供峨边彝族网站排名全网营销落地服务。

提供。

函数名:

sound

能:

以指定频率打开PC扬声器

法:

void

sound(unsigned

frequency);

程序例:

#include

int

main(void)

{

sound(7);

delay(10000);

nosound();

return

0;

}

c语言中如何播放mp3数据帧

可以使用PlaySound()函数播放mp3声音,该函数原型位于windows.h中,

函数原型为:

BOOL PlaySound(LPCSTR pszSound, HMODULE hmod,DWORD fdwSound);

参数pszSound是指定了要播放声音的字符串,该参数可以是MP3文件的名字,或是MP3资源的名字,或是内存中声音数据的指针,或是在系统注册表WIN.INI中定义的系统事件声音。如果该参数为NULL则停止正在播放的声音。

参数hmod是应用程序的实例句柄,当播放MP3资源时要用到该参数,否则它必须为NULL。

参数fdwSound是标志的组合,各种可选的标志及意义如下所示。若成功则函数返回TRUE,否则返回FALSE。

播放标志以及含义:

SND_APPLICATION

用应用程序指定的关联来播放声音。

SND_ALIAS

pszSound参数指定了注册表或WIN.INI中的系统事件的别名。

SND_ALIAS_ID

pszSound参数指定了预定义的声音标识符。

SND_ASYNC

用异步方式播放声音,PlaySound函数在开始播放后立即返回。

SND_FILENAME

pszSound参数指定了MP3文件名。

SND_LOOP

重复播放声音,必须与SND_ASYNC标志一块使用。

SND_MEMORY

播放载入到内存中的声音,此时pszSound是指向声音数据的指针。

SND_NODEFAULT

不播放缺省声音,若无此标志,则PlaySound在没找到声音时会播放缺省声音。

SND_NOSTOP

PlaySound不打断原来的声音播出并立即返回FALSE。

SND_NOWAIT

如果驱动程序正忙则函数就不播放声音并立即返回。

SND_PURGE

停止所有与调用任务有关的声音。若参数pszSound为NULL,就停止所有的声音,否则,停止pszSound指定的声音。

SND_RESOURCE

pszSound参数是WAVE资源的标识符,这时要用到hmod参数。

SND_SYNC

同步播放声音,在播放完后PlaySound函数才返回。

************************************************************

例如我想播放在C:\WINDOWS\Media目录中的 Windows XP 启动.MP3文件

程序如下:

#include windows.h

#include stdlib.h

int main(int argc, char* argv[])

{

PlaySound("C:\\WINDOWS\\Media\\Windows XP 启动.MP3", NULL, SND_FILENAME | SND_ASYNC);

system("pause");

return 0;

}

*/:)))))))))))))))))))))))))))))))

C语言 关于sound();函数和delay();

函数:

voiddelay(uinti)

{

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并不是实时操作系统,因此对于太过精确的计时,还是无能为力的。

网站名称:c语言sound函数 c语音函数怎么用
路径分享:https://www.cdcxhl.com/article40/ddijjho.html

成都网站建设公司_创新互联,为您提供企业网站制作网站设计网站内链响应式网站全网营销推广面包屑导航

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设