2015-01-20 151 views
1

你怎么能设置一个变量等于“O”或“ - ”,然后把在类似下面的if语句:Pyaudio设置输出=变量

if variable == 'O': 
    print 'hi' 

你怎么能做到这一点的:

import threading 
from array import array 
from Queue import Queue, Full 
import pyaudio 


CHUNK_SIZE = 1024 
MIN_VOLUME = 500 
BUF_MAX_SIZE = CHUNK_SIZE * 10 


def main(): 
    stopped = threading.Event() 
    q = Queue(maxsize=int(round(BUF_MAX_SIZE/CHUNK_SIZE))) 

    listen_t = threading.Thread(target=listen, args=(stopped, q)) 
    listen_t.start() 
    record_t = threading.Thread(target=record, args=(stopped, q)) 
    record_t.start() 

    try: 
     while True: 
     listen_t.join(0.1) 
     record_t.join(0.1) 
    except KeyboardInterrupt: 
     stopped.set() 

    listen_t.join() 
    record_t.join() 


def record(stopped, q): 
    while True: 
     if stopped.wait(timeout=0): 
      break 
     chunk = q.get() 
     vol = max(chunk) 
     if vol >= MIN_VOLUME: 
     # TODO: write to file 
      print "O", 
     else: 
      print "-", 


def listen(stopped, q): 
    stream = pyaudio.PyAudio().open(
     format=pyaudio.paInt16, 
     channels=2, 
     rate=44100, 
     input=True, 
     frames_per_buffer=1024, 
    ) 

    while True: 
     if stopped.wait(timeout=0): 
      break 
     try: 
      q.put(array('h', stream.read(CHUNK_SIZE))) 
     except Full: 
      pass # discard 


if __name__ == '__main__': 
    main() 

您可以使用,因此,如果输出是“O”然后打印喜?有人会为我编写代码,因为我一直在尝试编写这些代码,但仍然无法使代码适用于我。谢谢。

+0

你想把这些行放在哪里? – Fahadkalis 2015-01-28 15:43:55

回答

1

为了在Python中使用if语句,首先我们需要根据需求和类型用适当的语法声明变量值。

s = "O" 
if s == 'O': 
    print 'hi' 
+0

请给你的回答添加一些解释 – Huangism 2015-01-28 17:06:16

+0

@黄色其实这个问题很不清楚,我不知道他/她想把这些行放在哪里 – Fahadkalis 2015-01-28 17:08:33

+0

可以理解的,你应该在发布3行代码之前先澄清一下,没有任何解释 – Huangism 2015-01-28 17:09:29