38 lines
1.5 KiB
Python
38 lines
1.5 KiB
Python
from flask import Blueprint, request, jsonify
|
|
from windows_audio import WindowsAudioManager
|
|
from audio_io import AudioIO
|
|
|
|
device_bp = Blueprint('device', __name__)
|
|
|
|
audio_manager = WindowsAudioManager()
|
|
recorder = AudioIO()
|
|
|
|
# @device_bp.route('/device/set', methods=['POST'])
|
|
# def set_audio_device():
|
|
# device_index = request.json.get('device_index')
|
|
# try:
|
|
# device_index = int(device_index)
|
|
# print(f'HTTP: Setting audio device to index {device_index}')
|
|
# sample_rate = audio_manager.set_default_input_device(device_index)
|
|
# recorder.sample_rate = sample_rate
|
|
# return jsonify({'status': 'device set', 'device_index': device_index, 'sample_rate': sample_rate})
|
|
# except Exception as e:
|
|
# return jsonify({'status': 'error', 'message': str(e)}), 400
|
|
|
|
# @device_bp.route('/device/get', methods=['GET'])
|
|
# def get_audio_device():
|
|
# try:
|
|
# device_info = audio_manager.get_default_device('input')
|
|
# return jsonify({'status': 'success', 'device_info': device_info})
|
|
# except Exception as e:
|
|
# return jsonify({'status': 'error', 'message': str(e)}), 400
|
|
|
|
@device_bp.route('/device/list', methods=['GET'])
|
|
def list_audio_devices():
|
|
device_type = request.args.get('device_type', 'input')
|
|
try:
|
|
devices = audio_manager.list_audio_devices(device_type)
|
|
return jsonify({'status': 'success', 'devices': devices})
|
|
except Exception as e:
|
|
return jsonify({'status': 'error', 'message': str(e)}), 400
|