- Клиентская часть Vue 3 + Vite - Серверная часть Node.js + WebSocket - Система авторизации и смен - Управление игровыми портами - Поддержка тем (светлая/темная) - Адаптивный дизайн 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
57 lines
2.4 KiB
JavaScript
57 lines
2.4 KiB
JavaScript
// Инструкция по скачиванию MPV для Windows
|
||
const path = require('path');
|
||
const fs = require('fs');
|
||
|
||
console.log('📥 MPV Player - лучший выбор для радио потоков\n');
|
||
|
||
const toolsPath = path.join(__dirname, 'tools');
|
||
if (!fs.existsSync(toolsPath)) {
|
||
fs.mkdirSync(toolsPath);
|
||
}
|
||
|
||
console.log('🎵 MPV - рекомендуемый плеер для радио:');
|
||
console.log('1. Перейдите на https://mpv.io/installation/');
|
||
console.log('2. Нажмите на "Windows builds"');
|
||
console.log('3. Выберите "64-bit" версию');
|
||
console.log('4. Скачайте архив (например: mpv-x86_64-20240128-git-29a1a78.7z)');
|
||
console.log('5. Распакуйте архив');
|
||
console.log('6. Скопируйте файл mpv.exe в папку:');
|
||
console.log(' ' + toolsPath);
|
||
console.log('');
|
||
console.log('✅ После этого радио будет работать отлично!\n');
|
||
|
||
console.log('🎬 Альтернатива - VLC Player:');
|
||
console.log('1. Скачайте с https://www.videolan.org/vlc/');
|
||
console.log('2. Установите VLC');
|
||
console.log('3. Радио будет работать автоматически\n');
|
||
|
||
console.log('💡 Прямые ссылки:');
|
||
console.log('MPV: https://sourceforge.net/projects/mpv-player-windows/files/');
|
||
console.log('VLC: https://get.videolan.org/vlc/3.0.20/win64/vlc-3.0.20-win64.exe');
|
||
|
||
// Проверяем наличие плееров
|
||
const players = [
|
||
{ name: 'mpv.exe', path: path.join(toolsPath, 'mpv.exe') },
|
||
{ name: 'vlc.exe', paths: [
|
||
path.join(toolsPath, 'vlc.exe'),
|
||
'C:\\Program Files\\VideoLAN\\VLC\\vlc.exe',
|
||
'C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe'
|
||
]},
|
||
{ name: 'ffplay.exe', path: path.join(toolsPath, 'ffplay.exe') }
|
||
];
|
||
|
||
console.log('\n🔍 Проверка установленных плееров:');
|
||
players.forEach(player => {
|
||
if (player.paths) {
|
||
const found = player.paths.find(p => fs.existsSync(p));
|
||
if (found) {
|
||
console.log('✅', player.name, '- найден в', found);
|
||
} else {
|
||
console.log('❌', player.name, '- не найден');
|
||
}
|
||
} else if (fs.existsSync(player.path)) {
|
||
console.log('✅', player.name, '- найден!');
|
||
} else {
|
||
console.log('❌', player.name, '- не найден');
|
||
}
|
||
}); |