file_handler¶
WAV ファイルの一時保存、ffmpeg による変換、 およびクライアントへのデータ送信を担当します。
- class mike.file_handler.FileHandler(log_level, temp_input_file='tmp_in.wav', temp_output_file='tmp_out.wav')¶
Bases:
object- convert_wav_format(sample_rate=22050, channels=1)¶
ffmpegを用いてWAVファイルのフォーマットを変換します。
- Parameters:
sample_rate (int) – 変換後のサンプルレート(デフォルト: 22050)
channels (int) – 変換後のチャンネル数(デフォルト: 1)
- Returns:
変換後のファイルパス
- Return type:
str
- Raises:
RuntimeError – ffmpeg変換に失敗した場合
- read_wav_file(file_path)¶
WAVファイルを読み込みます。
- Parameters:
file_path (str) – 読み込むWAVファイルのパス
- Returns:
WAVファイルのバイナリデータ
- Return type:
bytes
- Raises:
FileNotFoundError – ファイルが見つからない場合
IOError – ファイル読み込みに失敗した場合
- save_wav_data(wav_data)¶
WAVデータを一時ファイルとして保存します。
- Parameters:
wav_data (bytes) – WAVファイルのバイナリデータ
- Raises:
IOError – ファイル保存に失敗した場合
- send_data(client_socket, wav_data)¶
WAVデータをクライアントに送信します。
- Parameters:
client_socket (socket.socket) – クライアントソケット
wav_data (bytes) – WAVデータ
- Raises:
IOError – データ送信に失敗した場合