0

如何在 Linux (Ubuntu) 中输出频率 1kHz 和功率/音量 = 60%?

我需要 C/C++ 中的示例代码。谢谢!

4

2 回答 2

2

看看 portaudio 库。http://www.portaudio.com/

它非常易于使用,跨平台,并带有许多小示例程序。除其他外,您会发现一种合成和播放正弦波的功能。

改变频率和音量是微不足道的。如果我没记错的话,这个例子只是一页代码,包括初始化和一切。

于 2009-12-11T06:11:23.110 回答
1

以下是如何输出用户定义的频率(赫兹)和长度(毫秒)的哔声。如何设置音量,我不确定。请注意,这个 C 程序只是对“echo -e”进行了 system() 调用,所以从技术上讲,你甚至不需要 C,但你问了,所以我给了。

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
   long freq;
   long len;
   char cmd[60];

   if (argc != 3)
   {
       printf("Usage: %s freq_hz length_ms\n", argv[0]);
       return 1;
   }

   freq = strtol(argv[1],(char**)NULL,10);
   len = strtol(argv[2],(char**)NULL,10);

   sprintf(cmd,"echo -e \"\33[10;%ld]\33[11;%ld]\a\33[10]\33[11]\"",freq,len);
   system(cmd);

   return 0;
}
于 2009-12-11T06:09:49.790 回答