Фонон (программное обеспечение)

Фонон
Разработчик(и)Маттиас Кретц ua [ нужна ссылка ]
Первоначальный выпуск11 января 2008 г .; 16 лет назад [1] (2008-01-11)
Стабильный релиз
4.11.1 / 26 сентября 2019 г. ; 5 лет назад [2] (2019-09-26)
Репозиторийinvent.kde.org/libraries/phonon
Написано вС++
Операционная системаLinux , BSD , macOS , Solaris , Windows
ТипМультимедийная структура
ЛицензияСтандартная общественная лицензия ограниченного применения GNU 2.1
Веб-сайтuserbase.kde.org/Phonon

Phonon — это мультимедийный API , предоставляемый KDE , и стандартная абстракция для обработки мультимедийных потоков в программном обеспечении KDE , а также используемый несколькими приложениями Qt .

Phonon изначально был создан, чтобы позволить программному обеспечению KDE и Qt быть независимым от любого отдельного мультимедийного фреймворка, такого как GStreamer или xine, и предоставить стабильный API для жизненного цикла основной версии. Это было сделано по разным причинам: создать простой мультимедийный API в стиле KDE / Qt , улучшить поддержку собственных мультимедийных фреймворков в Windows и macOS и исправить проблемы фреймворков, которые становились неподдерживаемыми или имели нестабильность API или ABI .

Например, файл может быть воспроизведен с помощью четырех строк кода C++ [3] по сравнению с 30 строками в старом аудиофреймворке для KDE ( aRts ) [4]

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 в системах, для которых он доступен. [4]

История

Идея 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. [5] [6] [7]

Функции

Фононная работа
  • Phonon взаимодействует с различными бэкендами с помощью того, что разработчики называют «движками»; каждый движок работает с одним определенным бэкендом. Каждый бэкенд позволит Phonon управлять базовыми функциями, такими как воспроизведение, пауза и поиск. Phonon также будет поддерживать функции более высокого уровня, такие как плавное перетекание треков друг в друга. [8]
  • Phonon может переключать мультимедийные фреймворки на лету. Пользователь может переключаться между фреймворками даже во время прослушивания музыки, с небольшой паузой во время переключения. Это изменение также будет общесистемным, затрагивая все приложения, использующие Phonon, поэтому менять фреймворки будет намного проще.
  • Используя Solid , Phonon дает пользователям больший контроль над аксессуарами, такими как гарнитуры, динамики и микрофоны. Был приведен пример, что можно было бы воспроизводить VoIP- разговор только через гарнитуру, но все остальные звуки выводить через динамики. [8]

Бэкэнды

Смотрите также

  • PulseAudio – популярный звуковой сервер для настольных компьютеров
  • Комплект JACK Audio Connection Kit – универсальный звуковой сервер для профессионального аудиопроизводства

Ссылки

  1. ^ «Выпущен KDE 4.0» . 11 января 2018 г. Проверено 23 октября 2019 г.
  2. ^ "Объявление о выпуске Phonon 4.11.1". 2019-09-26 . Получено 2019-10-23 .
  3. ^ Кретц, Маттиас. "MediaObject Class Reference". Архивировано из оригинала 2008-04-26 . Получено 2007-12-19 .
  4. ^ ab Sanders, N. (2006-05-09). "Phonon и будущее мультимедиа KDE" . Получено 2007-12-19 .
  5. ^ Гатри, Колин. "Qt Multimedia/Mobility против Phonon: FIGHT!!!". Архивировано из оригинала 2010-05-27 . Получено 2010-11-20 .
  6. ^ "Модуль QtMultimedia". Архивировано из оригинала 2010-08-28 . Получено 2010-11-20 .
  7. ^ "Обзор API проекта Qt Mobility". Архивировано из оригинала 2010-05-02 . Получено 2010-11-20 .
  8. ^ ab Unrau, Troy (2007-02-06). "Дорога к KDE 4: Phonon упрощает работу с мультимедиа" . Получено 2007-12-19 .
  9. ^ «Phonon — KDE UserBase Wiki» . Проверено 1 марта 2012 г.
  • Домашняя страница Phonon
  • Код Phonon (размещен на invent.kde.org)
Retrieved from "https://en.wikipedia.org/w/index.php?title=Phonon_(software)&oldid=1203288226"