2016-11-29 59 views
-3

我試過谷歌的解決方案,但還沒有拿出任何。如果有人想到的東西,將不勝感激。如何停止使用python運行揚聲器測試?

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

如果我在Python中只使用這兩行簡單的代碼,那麼在變量頻率中給出的數字將永遠以該頻率運行。我希望能夠在一定的時間後停止揚聲器測試頻率的運行。那麼停止揚聲器測試的命令是什麼?

+2

工作,我會坦率地認爲,沒有人真正瞭解你的問題。此外,這個社區可以幫助你找到問題並找到給定代碼的解決方案 - 你不應該指望人們從頭開始爲你編寫代碼。所以,請詳細說明...... – nostradamus

+0

@nostradamus對不起,我現在添加了更多信息,可以幫助回答問題。 – user2489995

+0

不知道你的「subprocess」模塊是什麼,你從哪裏得到的?您可能需要深入研究以確定您擁有哪些選項.call() – Yohst

回答

0

找到解決我自己的問題。揚聲器測試具有一個參數-l,它決定了您想要測試的特定頻率的循環數。玩弄一些數學運算,我發現將輸入的時間除以2.85意味着一個週期是〜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秒