Files
youtube-music/docs/readme/README-uk.md
2025-05-10 22:15:52 +09:00

22 KiB
Raw Permalink Blame History

YouTube Music

GitHub release GitHub license eslint code style Build status GitHub All Releases AUR Known Vulnerabilities

Знімок екрана

Прочитайте це іншими мовами: 🏴 Англійська, 🇰🇷 Корейська, 🇫🇷 Французька, 🇮🇸 Ісландська, 🇪🇸 Іспанська, 🇷🇺 Російська, 🇺🇦 Українська, 🇭🇺 Угорська, 🇧🇷 Португальська, 🇯🇵 Японська

Клієнт YouTube Music на основі Electron, що має:

  • Нативний вигляд і функціонал, що має на меті зберегти оригінальний інтерфейс
  • Фреймворк для користувацьких плагінів: змінюйте YouTube Music відповідно до ваших потреб (стиль, вміст, функції), вмикайте/вимикайте плагіни одним клацанням миші

Демонстраційне зображення

Екран плеєра (колірна тема альбому та режим Ambient)
Screenshot1

Зміст

Можливості:

  • Автоматичне підтвердження під час паузи (Завжди ввімкнено): вимикає спливаюче вікно "Продовжити перегляд?", яке призупиняє музику через певний час

  • Та багато іншого...

Доступні плагіни:

  • Блокувальник реклами: Блокує всю рекламу та відстеження «з коробки»

  • Дії з альбомом: Додає кнопки «Скасувати "Не подобається"», «Не подобається», «Подобається» та «Скасувати "Подобається"», щоб застосувати це до всіх пісень у списку відтворення або альбомі

  • Колірна тема альбому: Застосовує динамічну тему та візуальні ефекти на основі колірної палітри альбому

  • Режим Ambient: Застосовує ефект освітлення, проектуючи м'які кольори з відео на фон екрана

  • Аудіокомпресор: Застосовує компресію до аудіо (знижує гучність найгучніших частин сигналу та підвищує гучність найтихіших частин)

  • Розмиття панелі навігації: робить панель навігації прозорою та розмитою

  • Обхід вікових обмежень: обходить перевірку віку YouTube

  • Вибір субтитрів: Увімкнути субтитри

  • Компактна бічна панель: Завжди встановлювати бічну панель у компактному режимі

  • Плавний перехід: Плавний перехід між піснями

  • Вимкнути автопрогравання: Кожна пісня починається в режимі "пауза"

  • Discord Rich Presence: Покажіть друзям, що ви слухаєте, за допомогою Rich Presence

  • Завантажувач: завантажує MP3 безпосередньо з інтерфейсу (youtube-dl)

  • Експоненціальна гучність: Робить повзунок гучності експоненціальним, щоб було легше вибирати нижчу гучність

  • Меню в програмі: надає панелям модного, темного вигляду

    (дивіться цей пост, якщо у вас виникли проблеми з доступом до меню після ввімкнення цього плагіна та опції приховування меню)

  • Скробблер: Додає підтримку скробблінгу для Last.fm та ListenBrainz

  • Lumia Stream: Додає підтримку Lumia Stream

  • Тексти пісень Genius: Додає підтримку текстів для більшості пісень

  • Музика разом: Поділіться списком відтворення з іншими. Коли хост відтворює пісню, всі інші чутимуть ту саму пісню

  • Навігація: Стрілки навігації «Вперед»/«Назад» безпосередньо інтегровані в інтерфейс, як у вашому улюбленому браузері

  • Без входу в Google: Видаляє кнопки та посилання для входу в Google з інтерфейсу

  • Сповіщення: Відображає сповіщення, коли починає грати пісня (інтерактивні сповіщення доступні у Windows)

  • Картинка в картинці: дозволяє перемикати програму в режим «картинка в картинці»

  • Швидкість відтворення: Слухайте швидко, слухайте повільно! Додає повзунок, який контролює швидкість пісні

  • Точна гучність: Точно керуйте гучністю за допомогою коліщатка миші/гарячих клавіш, з власним HUD та настроюваними кроками гучності

  • Гарячі клавіші (та MPRIS): Дозволяє встановлювати глобальні гарячі клавіші для відтворення (відтворення/пауза/наступна/попередня) + вимкнути екранне меню медіа шляхом перевизначення медіаклавіш + увімкнути Ctrl/CMD + F для пошуку + увімкнути підтримку mpris у Linux для медіаклавіш + власні гарячі клавіші для досвідчених користувачів

  • Пропускати пісні, що не сподобалися: Пропускає пісні, які вам не сподобалися

  • Пропускати тишу: Автоматично пропускати тихі фрагменти

  • SponsorBlock: Автоматично пропускає немузичні частини, такі як інтро/аутро, або частини музичних відео, де пісня не грає

  • Керування медіа на панелі завдань: Керуйте відтворенням з панелі завдань Windows

  • TouchBar: Власний макет TouchBar для macOS

  • Tuna OBS: Інтеграція з плагіном Tuna для OBS

  • Зміна якості відео: Дозволяє змінювати якість відео за допомогою кнопки на відеопрогравачі

  • Перемикач відео: Додає кнопку для перемикання між режимом відео/пісні. Також може опціонально видалити всю вкладку відео

  • Візуалізатор: Різні музичні візуалізатори

  • Синхронізовані тексти: Надає синхронізовані тексти пісень, використовуючи такі джерела, як LRClib.

Переклад

Ви можете допомогти з перекладом на Hosted Weblate.

статус перекладу статус перекладу 2

Завантажити

Ви можете переглянути останній реліз, щоб швидко знайти найновішу версію.

Arch Linux

Встановіть пакет youtube-music-bin з AUR. Інструкції щодо встановлення з AUR можна знайти на цій сторінці вікі.

macOS

Ви можете встановити програму за допомогою Homebrew (дивіться визначення cask):

brew install th-ch/youtube-music/youtube-music

Якщо ви встановлюєте програму вручну та отримуєте помилку "is damaged and cant be opened.", запустіть у Терміналі таку команду:

/usr/bin/xattr -cr /Applications/YouTube\ Music.app

Windows

Ви можете використовувати менеджер пакунків Scoop для встановлення пакунка youtube-music з extras bucket.

scoop bucket add extras
scoop install extras/youtube-music

Крім того, ви можете використовувати Winget, офіційний менеджер пакунків командного рядка Windows 11, для встановлення пакунка th-ch.YouTubeMusic.

Примітка: Microsoft Defender SmartScreen може блокувати встановлення, оскільки воно від "невідомого видавця". Це також стосується ручного встановлення під час спроби запустити виконуваний файл (.exe) після ручного завантаження тут, на GitHub (той самий файл).

winget install th-ch.YouTubeMusic

Як встановити без підключення до Інтернету? (у Windows)

  • Завантажте файл *.nsis.7z для архітектури вашого пристрою зі сторінки релізів.
    • x64 для 64-розрядної Windows
    • ia32 для 32-розрядної Windows
    • arm64 для ARM64 Windows
  • Завантажте інсталятор зі сторінки релізів. (*-Setup.exe)
  • Розмістіть їх в одному каталозі.
  • Запустіть інсталятор.

Теми

Ви можете завантажити файли CSS, щоб змінити вигляд програми (Опції > Візуальні налаштування > Теми).

Деякі попередньо визначені теми доступні за адресою https://github.com/kerichdev/themes-for-ytmdesktop-player.

Розробка

git clone https://github.com/th-ch/youtube-music
cd youtube-music
pnpm install --frozen-lockfile
pnpm dev

Створіть власні плагіни

Використовуючи плагіни, ви можете:

  • маніпулювати програмою - BrowserWindow з Electron передається обробнику плагінів
  • змінювати фронтенд, маніпулюючи HTML/CSS

Створення плагіна

Створіть теку в src/plugins/НАЗВА_ВАШОГО_ПЛАГІНА:

  • index.ts: основний файл плагіна
import style from './style.css?inline'; // імпортувати стиль як вбудований

import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Назва плагіна',
  restartNeeded: true, // якщо значення true, ytmusic покаже діалогове вікно перезапуску
  config: {
    enabled: false,
  }, // ваша власна конфігурація
  stylesheets: [style], // ваш власний стиль,
  menu: async ({ getConfig, setConfig }) => {
    // Усі методи *Config є обгорнутими Promise<T>
    const config = await getConfig();
    return [
      {
        label: 'меню',
        submenu: [1, 2, 3].map((value) => ({
          label: `значення ${value}`,
          type: 'radio',
          checked: config.value === value,
          click() {
            setConfig({ value });
          },
        })),
      },
    ];
  },
  backend: {
    start({ window, ipc }) {
      window.maximize();

      // ви можете спілкуватися з плагіном рендерера
      ipc.handle('some-event', () => {
        return 'hello';
      });
    },
    // викликається при зміні конфігурації
    onConfigChange(newConfig) { /* ... */ },
    // викликається при вимкненні плагіна
    stop(context) { /* ... */ },
  },
  renderer: {
    async start(context) {
      console.log(await context.ipc.invoke('some-event'));
    },
    // Хук, доступний лише для рендерера
    onPlayerApiReady(api: YoutubePlayer, context: RendererContext) {
      // легко встановити конфігурацію плагіна
      context.setConfig({ myConfig: api.getVolume() });
    },
    onConfigChange(newConfig) { /* ... */ },
    stop(_context) { /* ... */ },
  },
  preload: {
    async start({ getConfig }) {
      const config = await getConfig();
    },
    onConfigChange(newConfig) {},
    stop(_context) {},
  },
});

Поширені випадки використання

  • ін'єкція власного CSS: створіть файл style.css у тій самій теці, а потім:
// index.ts
import style from './style.css?inline'; // імпортувати стиль як вбудований

import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Назва плагіна',
  restartNeeded: true, // якщо значення true, ytmusic покаже діалогове вікно перезапуску
  config: {
    enabled: false,
  }, // ваша власна конфігурація
  stylesheets: [style], // ваш власний стиль
  renderer() {} // визначити хук рендерера
});
  • Якщо ви хочете змінити HTML:
import { createPlugin } from '@/utils';

export default createPlugin({
  name: 'Назва плагіна',
  restartNeeded: true, // якщо значення true, ytmusic покаже діалогове вікно перезапуску
  config: {
    enabled: false,
  }, // ваша власна конфігурація
  renderer() {
    // Видалити кнопку входу
    document.querySelector(".sign-in-link.ytmusic-nav-bar").remove();
  } // визначити хук рендерера
});
  • зв'язок між фронтендом та бекендом: можна здійснити за допомогою модуля ipcMain з Electron. Дивіться файл index.ts та приклад у плагіні sponsorblock.

Збірка

  1. Клонуйте репозиторій
  2. Дотримуйтесь цієї інструкції, щоб встановити pnpm
  3. Запустіть pnpm install --frozen-lockfile для встановлення залежностей
  4. Запустіть pnpm build:OS
  • pnpm dist:win - Windows
  • pnpm dist:linux - Linux (amd64)
  • pnpm dist:linux:deb-arm64 - Linux (arm64 для Debian)
  • pnpm dist:linux:rpm-arm64 - Linux (arm64 для Fedora)
  • pnpm dist:mac - macOS (amd64)
  • pnpm dist:mac:arm64 - macOS (arm64)

Збирає програму для macOS, Linux та Windows, використовуючи electron-builder.

Попередній перегляд для production

pnpm start

Тести

pnpm test

Використовує Playwright для тестування програми.

Ліцензія

MIT © th-ch

Поширені запитання

Чому меню програми не відображається?

Якщо опція Приховати меню увімкнена - ви можете показати меню клавішею Alt (або ` [зворотний апостроф], якщо використовуєте плагін "Меню в програмі")