Files
ClipTrimApp/audio-service/src/routes/device.py
michalcourson 8fda2a03af server playback
2026-02-24 19:08:27 -05:00

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