🎵 Тестовый сервер RTT API

📡 Загрузка информации о сервере...

🔗 REST API Эндпоинты

🔌 WebSocket Эндпоинты

🧪 Тестовые страницы

📋 Примеры использования

REST API - Получение последнего аудио:

const response = await fetch('/api/audio/latest');
if (response.ok) {
    const audioData = await response.arrayBuffer();
    const audioId = response.headers.get('X-Audio-ID');
    console.log('Audio ID:', audioId, 'Size:', audioData.byteLength);
}

WebSocket - Получение аудио:

const audioSocket = new WebSocket('wss://rtt.devreporter.ru/ws/audio');
audioSocket.onmessage = (event) => {
    if (event.data instanceof ArrayBuffer) {
        console.log('Получены аудиоданные:', event.data.byteLength, 'байт');
    }
};

WebSocket - Получение текста:

const textSocket = new WebSocket('wss://rtt.devreporter.ru/ws/text');
textSocket.onmessage = (event) => {
    const data = JSON.parse(event.data);
    if (data.type === 'translation') {
        console.log('Перевод:', data.data);
    }
};

Server-Sent Events + Автовоспроизведение:

const eventSource = new EventSource('/api/audio/stream');
eventSource.onmessage = async (event) => {
    const data = JSON.parse(event.data);
    if (data.type === 'new_audio') {
        console.log('Новый аудио чанк доступен:', data.id);
        
        // Автоматически загружаем и воспроизводим аудио
        const response = await fetch(`/api/audio/${data.id}`);
        const audioData = await response.arrayBuffer();
        // ... воспроизведение через Web Audio API
    }
};

⚙️ Технические детали

🔊 SSE Автовоспроизведение

Новая функция! Теперь можно автоматически воспроизводить аудио в браузере при получении уведомлений через Server-Sent Events.

Как использовать:

  1. Откройте страницу Тест REST API
  2. Нажмите "Подключиться к SSE"
  3. Нажмите "Включить автовоспроизведение" (требует взаимодействие пользователя)
  4. Каждый новый аудио чанк будет автоматически воспроизводиться в браузере

Особенности:

📁 Как добавить MP3 файлы

  1. Поместите MP3 файлы в директорию audio/
  2. Перезапустите сервер командой python test_server.py
  3. Сервер автоматически загрузит и конвертирует файлы в PCM16
  4. Аудио будет воспроизводиться циклически

Поддерживаемые форматы: MP3 любого качества, количества каналов и частоты дискретизации.