在做测试的过程中,程序运行的时间很长,想在程序运行时,去干点别的, 但有不知道什么时候结束,所以想程序完成时发出声音提醒,找了好多程序都特别的麻烦,终于找到了一个比较简便的方法。
网上有说直接在/dev/dsp中写入数据就可以,但是测试了一下发现不可以,后来找了一下,需要在程序运行行加上前缀 aoss,aoss可以通过命令
sudo apt-get install alsa-oss
下面的是我一个例子程序:
int AlarmToChangeAnt()
{
FILE *audio = fopen("/dev/dsp", "wb");
unsigned char data[256];
int i,j;
float a = 0;
for(j = 0; j < 20; j++)
{
for (i=0; i<256; a+=0.5, i++)
data[i] = (sin(a)+1)/2 * 256;
fwrite(data, 1, 256, audio);
}
fclose(audio);
return 0;
}
aoss ./你的程序
0.5是可以改變音調
20可以改變聲音的時間
希望有用!