這個(gè)函數(shù)是直接操作PC的喇叭,讓其以一定的頻率發(fā)出聲音
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)公司將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
參數(shù)為頻率,可以這樣用 sound(100);
改變參數(shù)大小可以發(fā)出不同的音
C語言中的這個(gè)函數(shù)是不能用來播放指定的音頻文件的,如果需要,可以調(diào)用系統(tǒng)API函數(shù)。
函數(shù):
voiddelay(uinti)
{
while(i)i--;
}
這樣的延遲設(shè)計(jì)很不好,因?yàn)槭苡绊懙囊蛩靥唷?/p>
首先就是機(jī)器的CPU頻率,快的CPU執(zhí)行i--這句的機(jī)器時(shí)間短,慢的機(jī)器就很慢。
其次是當(dāng)前機(jī)器的負(fù)荷情況,負(fù)荷較重時(shí),系統(tǒng)給當(dāng)前進(jìn)程分配的CPU時(shí)間少,執(zhí)行這些語句的機(jī)會(huì)就少,延遲就增加了。
影響因素還有很多在此不再列舉。
做延遲程序主要有以下幾種方法:
1.定時(shí)器法
用CWnd::SetTimer()函數(shù)設(shè)置定時(shí)器,當(dāng)定時(shí)時(shí)間到時(shí)發(fā)送WM_TIMER消息觸發(fā)CWnd::OnTimer()函數(shù),重載它把自己的代碼放進(jìn)去。
SetTimer()參數(shù)為毫秒,此方法定時(shí)不高,受系統(tǒng)負(fù)荷影響。
2.休眠法
調(diào)用系統(tǒng)API函數(shù)Sleep(2000);參數(shù)單位是毫秒,2000代表2秒。
此方法主要收到當(dāng)前系統(tǒng)負(fù)荷的影響,定時(shí)不太準(zhǔn)確
3.時(shí)刻比較法
定義兩個(gè)CTime變量,一個(gè)用于記錄起始時(shí)刻,另一個(gè)放在循環(huán)體中不斷刷新當(dāng)前時(shí)刻,并減去起始時(shí)刻,自己計(jì)算是否到時(shí)間了。
此方法因CTime變量只能獲取秒級(jí)的時(shí)刻,且收到系統(tǒng)負(fù)荷影響,精度也較低。
4.CPU滴答查詢法
利用兩個(gè)API函數(shù)QueryPerformanceFrequency()和QueryPerformanceCounter()分別獲取CPU的頻率和CPU滴答數(shù),依時(shí)刻比較法自己計(jì)算時(shí)刻差值。
因?yàn)镃PU滴答數(shù)是等于CPU的機(jī)器周期的,所以是Windows系統(tǒng)里最最精確的計(jì)時(shí)方法了。現(xiàn)在的CPU主頻都是GHz級(jí)的,因此理論上計(jì)時(shí)精度可以到納秒。
只要系統(tǒng)負(fù)荷不太重,此法可用于極其精確的延時(shí)程序。
因?yàn)閃indows并不是實(shí)時(shí)操作系統(tǒng),因此對于太過精確的計(jì)時(shí),還是無能為力的。
這個(gè)函數(shù)是直接操作PC的喇叭,讓其以一定的頻率發(fā)出聲音
參數(shù)為頻率,可以這樣用 sound(100);
改變參數(shù)大小可以發(fā)出不同的音
C語言中的這個(gè)函數(shù)是不能用來播放指定的音頻文件的,如果需要,可以調(diào)用系統(tǒng)API函數(shù)。
標(biāo)題名稱:c語言sound函數(shù)使用 c語言播放聲音代碼
網(wǎng)站URL:http://muchs.cn/article26/doecgcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、品牌網(wǎng)站制作、做網(wǎng)站、商城網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)