Phonon | это... Что такое Phonon? (original) (raw)
Phonon
Тип | мультимедийный фреймворк |
Разработчики | Маттиас Крец, команда разработчиков Phonon |
Написана на | C++ |
Операционная система | кросс-платформенное программное обеспечение |
Последняя версия | 4.6.0 (20 декабря 2011) |
Лицензия | GNU LGPL |
Сайт | phonon.kde.org |
Phonon — мультимедийный фреймворк для KDE4, который предоставляет API для разработки мультимедиа-приложений. Phonon использует набор расширяемых модулей, выполняющих реальную работу.
Входит в состав Qt начиная с версии 4.4. До 4.5 версии поставлялся в виде исходников и стандартно был доступен только для коммерческой версии Qt[источник не указан 831 день]. В данный момент распространяется как часть Qt под лицензией GNU LGPL version 2.1.
Особенности
Phonon API написан на языке программирования C++ с использованием парадигм объектно-ориентированного программирования. Механизм использования интерфейса Phonon основан на графовых связях между источниками (MediaObject) и выводящими устройствами (AudioOutput, VideoOutput). Связи между объектами данных и устройств вывода реализуются с помощью путей (Path). Библиотека также поддерживает звуковые эффекты и работу с RAW аудио в реальном времени (AudioDataOutput).
Плюсы:
- Кросс-платформенность.
- Простота использования.
- Предоставление разработчикам возможности создания API-независимых приложений для воспроизведения видео и аудио данных.
Минусы:
- Отсутствует поддержка работы с устройствами аудио- и видеозахвата.
- Отсутствует доступ к видеобуферу для наложения видео эффектов в реальном времени.
- Слабые возможности аудио эффектов.
История
Изначально мультимедийный API назывался KDEMM (KDE MultiMedia). Официальный релиз API как части KDE 4.0 состоялся в январе 2008 года, в тот же самый год Phonon был адаптирован для Qt 4.4 и стал её частью. Главой разработки является Маттиас Крец (англ. Matthias Kretz). Сам Phonon является относительно новым, и набирает популярность.
Пример использования
media = new MediaObject(this); connect(media, SIGNAL(finished()), SLOT(slotFinished())); media->setCurrentSource("/home/username/music/filename.ogg"); media->play();
Поддерживаемые модули
Phonon Backend — реализация Phonon API на основе определенной библиотеки, которая выполняет непосредственно функции воспроизведения видео и аудио данных. Таким модулем может быть реализация для другого API, который уже использует другие API и медиа-библиотеки.
Входящие в Qt:
- DirectShow (только в Windows);
- MMF (Microsoft Media Foundation) (только Windows);
- GStreamer.
- VLC
Входящие в KDE:
Ссылки
- Официальный сайт библиотеки (англ.)
- Описание Phonon API для Qt 4.6 (англ.)
- Sanders, N. Phonon and the future of KDE multimedia (англ.). linux.com (9 мая 2006).(недоступная ссылка — история) Проверено 31 января 2010.
Проект KDE | |
---|---|
Сообщество | KDE e.V. • Akademy • KDE.News • Konqi |
Люди | Matthias Kalle Dalheimer • Маттиас Эттрих • Adriaan de Groot • Frank Karlitschek • Celeste Lyn Paul • Nuno Pinheiro • Корнелиус Шумахер • Aaron Seigo • David Vignoni |
Software Compilation | KDE 1 • KDE 2 • KDE 3 • KDE SC 4 |
Workspaces | KDM • KWin • Plasma • System Settings |
Приложения | Графика digiKam • Gwenview • Karbon • KColorEdit • KolourPaint • KPhotoAlbum • KPovModeler • Krita • KSnapshot • Okular • Skanlite Игры набор игр KDE Games Интернет Akregator • Choqok • KGet • KMail • KMLDonkey • KNode • Konqueror • Konversation • Kopete • KPPP • KRDC • KTorrent • Rekonq Мультимедиа Amarok • Dragon Player • Frescobaldi • JuK • K3b • K9Copy • Kaffeine • Kdenlive • KMPlayer Образование Cantor • Kalzium • KBibTeX • KGeography • KHangMan • Kig • Kiten • kst • KStars • KTouch • KTurtle • LabPlot • Marble • RKWard • Step Офис Flow • KAddressBook • Kexi • Kile • KMyMoney • Kontact • KOrganizer • KPilot • KWord • Plan • Stage • Tables • Tellico • Words Разработка Cervisia • KDbg • KDESvn • KDevelop • KImageMapEditor • Kompare • Lokalize • Quanta Plus • Umbrello • KTechLab Система Dolphin • KDE Partition Manager • KDE System Guard • KInfoCenter • Konsole • Yakuake Утилиты Ark • BasKet Note Pads • KAlarm • Kate • KCalc • KGPG • Klipper • KJots • Krusader • KRename • KWallet • KWrite • RSIBreak • SuperKaramba |
Платформа | Akonadi • Decibel • Flake • KJS • KHTML • KIO • Kiosk • KIPI • KParts • Kross • NEPOMUK • Oxygen • Phonon • QtRuby • Solid • Sonnet • Soprano • Strigi • ThreadWeaver • XMLGUI |
Пакеты | Libs • base • Accessibility • Administration • Bindings • Education • Games • Graphics • Multimedia • Network • PIM • SDK • Utils • Web Dev • Calligra Suite • KOffice • Extragear |
Qt | |
---|---|
Технологии | Meta-object System · Phonon · QML · QtScript · Qt Quick · Qt Style Sheets · Сигналы и слоты |
Инструменты | qmake · Qt Creator · Метаобъектный компилятор |
Привязки | PyQt · PySide · QtRuby · Qt Jambi |
Связанные темы | KDE · MeeGo · Qt Development Frameworks |