0
考慮下面的程序:從嗶聲()中刪除睡眠,產生聲音的替代方法?
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
int main(int argc, char** argv) {
for (int i = 0; i < 10; i++) {
Beep(220 * i, 250);
printf("%d\n", 22o * i);
}
return 0;
}
這使得聲音250毫秒,並打印聲音的頻率。打印之間有延遲,但是,由於它在嘟嘟聲之間休眠。
相反,如printf("\a");
這樣的做法在蜂鳴聲之間沒有睡眠。我知道這並不完全等同於Beep()
,因爲您無法調整聲音或更改持續時間,但我感興趣的是聲音之間的零度睡眠。
我想使用Beep()
,其持續時間爲250ms,但我不希望程序在它們之間睡眠。我有一個粒子模擬器,在發生碰撞時產生一個聲音,但是當聲音播放時,模擬會持續一段時間。我想讓它發出250ms的嗶聲,但不涉及睡眠。
我有什麼選擇?
編輯; here's a video showing the pause in my simulator.