帮看下这段C++发出声音的代码功能
#include<iostream>#include<windows.h>usingnamespacestd;intmain(){inti;for(i=1;i<100;)...
#include<iostream>
#include<windows.h>
using namespace std;
int main()
{
int i;
for( i = 1;i<100; )
{
cout<<'\a';
cout<<"现在是第"<<i<<"次\n";
MessageBeep(0);
i++;
}
return 0;
}
--------------------------------------------------------
在循环里貌似起发声作用的只有\a 那MessageBeep(0);在这里的作用是什么呢?换成Beep()又会怎么样?这两个函数有什么区别? 展开
#include<windows.h>
using namespace std;
int main()
{
int i;
for( i = 1;i<100; )
{
cout<<'\a';
cout<<"现在是第"<<i<<"次\n";
MessageBeep(0);
i++;
}
return 0;
}
--------------------------------------------------------
在循环里貌似起发声作用的只有\a 那MessageBeep(0);在这里的作用是什么呢?换成Beep()又会怎么样?这两个函数有什么区别? 展开
1个回答
展开全部
起发声作用的是MessageBeep(0)函数,它和Beep()的区别主要是是否是阻塞调用的。
MessageBeep()是异步(非阻塞)的,就是说程序执行到此函数后,不等发声完毕就继续执行它后面的程序,所以一般需要在循环中加入Sleep()函数来等待发声完毕再进入下次循环,所以按你的代码,应该不到一秒就结束循环,发声也是很短促。
After queuing the sound, the MessageBeep function returns control to the calling function and plays the sound asynchronously.
参考:http://baike.baidu.com/view/1887476.htm
而Beep()是同步(阻塞)的,就是说必须等待函数里发声完毕才会继续执行它后面的程序,所以你的代码把MessageBeep()换成Beep()的话,会发一百次Beep声音,执行完毕所花时间将是单次Beep参数所设时间的100倍。
The Beep function generates simple tones on the speaker. The
function is synchronous; it does not return control to its caller until the
sound finishes.
参考:http://baike.baidu.com/view/927791.htm
MessageBeep()是异步(非阻塞)的,就是说程序执行到此函数后,不等发声完毕就继续执行它后面的程序,所以一般需要在循环中加入Sleep()函数来等待发声完毕再进入下次循环,所以按你的代码,应该不到一秒就结束循环,发声也是很短促。
After queuing the sound, the MessageBeep function returns control to the calling function and plays the sound asynchronously.
参考:http://baike.baidu.com/view/1887476.htm
而Beep()是同步(阻塞)的,就是说必须等待函数里发声完毕才会继续执行它后面的程序,所以你的代码把MessageBeep()换成Beep()的话,会发一百次Beep声音,执行完毕所花时间将是单次Beep参数所设时间的100倍。
The Beep function generates simple tones on the speaker. The
function is synchronous; it does not return control to its caller until the
sound finishes.
参考:http://baike.baidu.com/view/927791.htm
唯创智能
2024-05-10 广告
2024-05-10 广告
语音芯片根据集成电路类型来分,凡是与声音有关系的集成电路被统称为语音芯片(又称语音IC,这里应该叫成Voice IC),但是在语音芯片的大类型中,又被分为语音IC(这里应该叫成Speech IC),音乐IC(这里应该叫成Music IC)两...
点击进入详情页
本回答由唯创智能提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询