Ранний снимок экрана менеджера настроек Phonon | |
Разработчик (и) | Matthias Kretz ua |
---|---|
Первоначальный выпуск | 11 января 2008 г.; 12 лет назад (11.01.2008) |
Стабильный выпуск | 4.11.1 / 26 сентября 2019 г.; 12 месяцев назад (26.09.2019) |
Репозиторий | |
Написано на | C ++ |
Операционная система | Linux, BSD, macOS, Solaris, Windows |
Тип | Мультимедийный фреймворк |
Лицензия | Стандартная общественная лицензия ограниченного применения GNU 2.1 |
Веб-сайт | phonon.kde.org |
Phonon - это мультимедийный API, предоставляемый KDE и является стандартной абстракцией для обработки мультимедийных потоков в программном обеспечении KDE, а также используется несколькими приложениями Qt.
Phonon изначально был создан, чтобы позволить программному обеспечению KDE и Qt быть независимым от какой-либо единственной мультимедийной инфраструктуры, такой как GStreamer или xine, и обеспечить стабильный API для основных время жизни версии. Это было сделано по разным причинам: для создания простого мультимедийного API в стиле KDE /Qt, для лучшей поддержки собственных мультимедийных фреймворков в Windows и macOS, а также для устранения проблем фреймворки перестают обслуживаться или имеют нестабильность API или ABI.
Например, файл можно воспроизвести в четырех строках кода C ++, по сравнению с 30 строками в старой аудиофреймворке для KDE (aRts )
Phonon :: MediaObject * media = new Phonon :: MediaObject (this); createPath (media, new Phonon :: AudioOutput (Phonon :: MusicCategory, this)); media->setCurrentSource (QUrl ("/ tmp / example.wav")); media ->play ();
Phonon не предназначен для использования всех мыслимых мультимедийных функций, а скорее как простой способ выполнять общие функции компьютерных медиаплееров. Разработчики, которым требуется больший контроль над данным сервером мультимедиа, чем может предоставить Phonon, рекомендуется использовать собственный мультимедийный API или GStreamer API в системах, для которых он доступен.
Идея 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.