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.04.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.