2015-01-20 3 views
1

Как вы можете установить переменную равной «O» или «-», а затем положить, что в если утверждение, как показано ниже: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

ответ

1

Чтобы использовать инструкцию if в Python, сначала нам нужно объявить значение переменной с соответствующим синтаксисом в соответствии с требованием и типом.

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

Пожалуйста, добавьте некоторое объяснение к вашему ответу – Huangism

+0

@Huangism На самом деле вопрос очень неясен, я не знаю, где он хочет поставить эти строки. – Fahadkalis

+0

Понятное, вы должны попросить разъяснения перед публикацией 3 строк кода без каких-либо объяснений. – Huangism

 Смежные вопросы

  • Нет связанных вопросов^_^