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 – データ送信に失敗した場合