35 lines
929 B
Python
35 lines
929 B
Python
import ggwave
|
|
import pyaudio
|
|
|
|
# Inicializa o áudio para captura
|
|
p = pyaudio.PyAudio()
|
|
stream = p.open(format=pyaudio.paFloat32, channels=1, rate=48000, input=True, frames_per_buffer=1024)
|
|
|
|
# Inicializa a instância do decodificador ggwave
|
|
instance = ggwave.init()
|
|
|
|
print("Escutando... Toque o som no emissor.")
|
|
|
|
try:
|
|
while True:
|
|
# Captura o áudio do microfone
|
|
data = stream.read(1024, exception_on_overflow=False)
|
|
|
|
# Tenta decodificar o sinal capturado
|
|
res = ggwave.decode(instance, data)
|
|
|
|
# Se decodificou algo válido, exibe na tela
|
|
if res is not None:
|
|
try:
|
|
print("Dados recebidos:", res.decode('utf-8'))
|
|
except UnicodeDecodeError:
|
|
print("Dados recebidos (bytes):", res)
|
|
except KeyboardInterrupt:
|
|
print("\nParando receptor.")
|
|
|
|
# Limpa a memória
|
|
stream.stop_stream()
|
|
stream.close()
|
|
p.terminate()
|
|
|