| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- import pyaudio
- class AudioHandler:
- def __init__(self, socket):
- self.socket = socket
- def play_audio_stream(self):
- # Initialize PyAudio
- p = pyaudio.PyAudio()
- # Define stream parameters
- stream_format = pyaudio.paInt16
- channels = 2
- rate = 44100
- chunk_size = 1024 * 32
- # Open an audio stream
- stream = p.open(format=stream_format,
- channels=channels,
- rate=rate,
- output=True,
- frames_per_buffer=chunk_size)
- try:
- while True:
- data = self.socket.recv(chunk_size)
- if not data:
- break
- stream.write(data)
- except Exception as e:
- print(f"Error playing audio stream: {e}")
- finally:
- stream.stop_stream()
- stream.close()
- p.terminate()
- def start(self):
- self.play_audio_stream()
|