Phonon (KDE)

Phonon
Phonon Logo
ТипМультимедійний фреймворк
РозробникМаттіас Крец, команда розробників Phonon
Стабільний випуск4.8.3 (16 грудня, 2014; 9 років тому (2014-12-16)[1])
Операційна системаLinux, BSD, Mac OS X, Solaris, Windows
Мова програмуванняC++
ЛіцензіяGNU Lesser General Public License 2.1
Репозиторійgithub.com/KDE/phonon
Вебсайтphonon.kde.org

Phononмультимедійний фреймворк для KDE 4, що надає API для розробки мультимедіа-застосунків. Phonon використовує набір модулів для розширення своїх можливостей. На сьогоднішній день розповсюджується як частина Qt під ліцензією LGPL v. 2.1.

Phonon був створений щоб дозволити KDE не залежати від будь-яких сторонніх мультимедіа фреймворків, таких як GStreamer або xine , та забезпечити при цьому стабільний API для застосунків. Це було зроблено з декількох причин: щоб створити єдиний KDE/Qt стиль мультимедіа API; задля покращення підтримки мультимедіа застосунків KDE під Windows та Mac OS X; уніфікація роботи API та ABI задля кращої стабільності. Згодом проєкт був перенесений на Qt, отже, може використовуватись незалежно від KDE.

Історія

Ідея створення Phonon виникла на конференції aKademy 2004 у Людвігсбурзі поблизу Штутгарта (Німеччина), де потрібно було обрати новий мультимедійний API для заміни aRts. Консенсусу не було досягнуто, але кілька розробників зібралися разом і вирішили спробувати розробити новий фреймворк з декількома бекендами. Найпершу версію було названо KDEMM (KDE MultiMedia), і її підтримували лише JuK та Amarok. Матіас Крец продовжував працювати над проєктом самотужки у рамках своєї університетської дисертації, проєкт ще раз змінив назву, але у лютому 2006 року було остаточно обрано назву Phonon. Перший офіційний випуск було здійснено у складі KDE 4.0 у січні 2008 року, того ж року Phonon було прийнято Qt і випущено у складі Qt 4.4. Незважаючи на те, що підтримку Phonon у Qt буде продовжено для серії 4.x, Qt вже замінила Phonon на QtMultimedia та QtMobility.[2][3][4]

Особливості

Phonon API написаний на мові програмування C++ з використанням парадигм об'єктно-орієнтованого програмування.[5] Механізм використання інтерфейсу Phonon заснований на графових зв'язках між джерелом (MediaObject) та пристроями виводу (AudioOutput, VideoOutput). Зв'язок між об'єктами даних та пристроями виводу реалізується за допомогою шляхів (Path). Бібліотеки також підтримують звукові ефекти та роботу з аудіо форматом RAW у реальному часі (AudioDataOutput).

Переваги

  • Простота використання.
  • Надання розробникам можливості створювати незалежних від API застосунків для виводу аудіо- та відео-даних.

Недоліки

  • Відсутність підтримки роботи з пристроями аудіо- та відео захоплення.
  • Відсутність доступу до буферу для накладання відео ефектів у реальному часі.
  • Недостатні можливості аудіо ефектів.

Дивісться також

Посилання

Офіційний сайт проєкту [Архівовано 26 грудня 2014 у Wayback Machine.]

Виноски

  1. Оголошення про випуск Phonon 4.8.3, 16 Грудня 2014, архів оригіналу за 6 лютого 2015, процитовано 2014-12-16.09.2024
  2. Qt Multimedia/Mobility vs. Phonon: FIGHT!!! « Colin.Guthr.ie. web.archive.org. 27 травня 2010. Архів оригіналу за 27 травня 2010. Процитовано 11 квітня 2023.
  3. Qt 4.6: QtMultimedia Module. web.archive.org. 28 серпня 2010. Архів оригіналу за 28 серпня 2010. Процитовано 11 квітня 2023.
  4. Qt Mobility Project 1.0: Qt Mobility Project APIs Overview. web.archive.org. 2 травня 2010. Архів оригіналу за 2 травня 2010. Процитовано 12 квітня 2023.
  5. Phonon: MediaObject Class Reference. web.archive.org. 26 квітня 2008. Архів оригіналу за 26 квітня 2008. Процитовано 12 квітня 2023.
  • п
  • о
  • р
Software Compilation
KDE 1 • KDE 2 • KDE 3 • KDE SC 4
Застосунки, що входять
у проєкт KDE[en]
Розробка
Cervisia • KDbg • KDESvn • KDevelop • KImageMapEditor • Kompare • Lokalize • Quanta Plus • Umbrello
Освіта
Cantor • GCompris • KAlgebra • Kanagram • Kalzium • KBibTeX • KGeography • KLettres • KHangMan • Kig • Kiten • kst • KStars • KTouch • KTurtle • KWordQuiz • LabPlot • Marble • RKWard • Rocs • Step
Ігри
KAtomic • KBounce • Kolf • KMines
Графіка
digiKam • Gwenview • Karbon14 • KColorEdit • KolourPaint • KPhotoAlbum • KPovModeler • Krita • KSnapshot • Skanlite
Інтернет
Akregator • KGet • KMail • KMLDonkey • KNode • Konqueror • Konversation • Kopete • Kppp • KRDC • KTorrent • Rekonq
Мультимедіа
Dragon Player • JuK • K3b • K9Copy • Kaffeine • Kdenlive • Plasma Media Center
Офіс
Okular • Calligra Suite (Words • Sheets • Stage • Flow • Karbon • Krita • Kexi • Plan) • KAddressBook • Kile • KMyMoney • Kontact • KOrganizer • KPilot • Tellico
Система
Утиліти
Ark • Filelight • KAlarm • Kate • KCalc • KGPG • Klipper • KJots • Krusader • KRename • KScreen • KWallet • KWrite • RSIBreak
Додаткові застосунки
Amarok • Avogadro • ChessX • Clementine • Freeseer • KOffice • Mixxx • Mumble • Puddletag • qBittorrent • QGIS • Subsurface • Transmission-Qt • Trojitá
Платформа
Інтерфейс користувача
Сучасний
Застарілий
KDesktop • Kicker • SuperKaramba • KDE Plasma 4 • Oxygen Project • Crystal Project
Сучасна
KWin • SDDM (5–) • Qt Framework • KDE Frameworks 5 (Akonadi • Flake • KJS • KHTML • KIO • ThreadWeaver • Kiosk • KIPI • KParts • Kross • Phonon • Solid • Sonnet[en] • Soprano[pl] • Strigi • XMLGUI)
Застаріла
KDElibs (–3) • DCOP (3) • KDE Platform 4 (4) • KDM (–4) • NEPOMUK (4.13)
freedesktop.org
AppStream • D-Bus • GStreamer • NetworkManager • Poppler • Wayland • X.Org Server • PulseAudio
Пакети
Accessibility Project • Bindings • Education • Extragear • Games • Graphics • KDEPIM • Multimedia • Network • SDK • Utils • Web Development
Спільнота
KDE e.V. • Akademy • KDE.News • Konqi
Люди
Давид Віньйоні • Адріаан де Грот • Маттіас Калле Дальхаймер • Маттіас Еттріх • Френк Карлічек • Себастьян Кюґлер • Нуно Піньєро • Селеста Лін Пол • Аарон Сеіґо • Корнеліус Шумахер
Категорія • Проєкт • Commons • Шаблон
  • п
  • о
  • р
Технології
• Meta-object System • Phonon • QML • QtScript • Qt Quick • Qt Style Sheets • Signals and slots
Інструменти
Прив'язки
• PHP-Qt • PyQtPySide • QtRuby • Qt Jambi
Сумісні теми
KDEMer (MeeGo) • Qt Development Frameworks • Necessitas SDK (Android)