如何停止使用python运行扬声器测试?

时间:2016-11-29 06:58:18

标签: python raspberry-pi

我试过谷歌解决方案,但尚未提出任何问题。如果有人想到什么,那将非常感激。

import subprocess
subprocess.call("speaker-test -t sine -f" + frequency, shell = True)

如果我在python中只使用这两行简单的代码,那么以可变频率给出的数字将永远以该频率运行。我希望能够在一定的秒数后停止扬声器测试频率的运行。那么停止说话测试的命令是什么?

2 个答案:

答案 0 :(得分:0)

找到解决我自己问题的方法。 speaker-test有一个参数-l,它决定了你要测试的特定频率的循环次数。通过一些数学运算,我发现将输入的持续时间除以2.85表示一个周期为~1秒。

答案 1 :(得分:0)

import subprocess  

subprocess.call("(speaker-test -t sine -f 200 -c 2 -Dhw:ALSA)& pid=$!; sleep 0.15; kill -9 $pid", shell = True)

这条线用于停止扬声器测试0.15秒