Разработчики) | Matthias Kretz ua [ необходима ссылка ] |
---|---|
Первый выпуск | 11 января 2008 г . [1] |
Стабильный выпуск | 4.11.1 / 26 сентября 2019 г . [2] |
Репозиторий | |
Написано в | C ++ |
Операционная система | Linux , BSD , macOS , Solaris , Windows |
Тип | Мультимедийный фреймворк |
Лицензия | Стандартная общественная лицензия ограниченного применения GNU 2.1 |
Веб-сайт | 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 ( это ); createPath ( media , новый Phonon :: AudioOutput ( Phonon :: MusicCategory , this )); медиа -> setCurrentSource ( QUrl ( "/tmp/example.wav" )); медиа -> играть ();
Phonon разработан не для того, чтобы иметь все мыслимые мультимедийные функции, а скорее как простой способ выполнять общие функции компьютерных медиаплееров. Разработчикам, которым требуется больший контроль над данным сервером мультимедиа, чем может предоставить Phonon, рекомендуется использовать собственный мультимедийный API или API GStreamer в системах, для которых он доступен. [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]
Бэкэнды [ править ]
- В большинстве Unix-подобных систем поддерживаются бэкенды GStreamer и VLC .
- Поддерживаемые серверные части в Windows включают DirectShow , VLC и MPlayer .
- Поддерживаемый бэкэнд в macOS - QuickTime .
- Серверные модули xine и MPlayer устарели в Linux и больше не разрабатываются. [9]
См. Также [ править ]
- PulseAudio - преобладающий звуковой сервер для настольных ПК
- JACK Audio Connection Kit - основной звуковой сервер для профессионального аудиопроизводства
Ссылки [ править ]
- ^ «Выпущена KDE 4.0» . 2018-01-11 . Проверено 23 октября 2019 .
- ^ "Объявление о выпуске Phonon 4.11.1" . 2019-09-26 . Проверено 23 октября 2019 .
- ^ Крец, Матиас. «Описание класса MediaObject» . Архивировано из оригинала на 2008-04-26 . Проверено 19 декабря 2007 .
- ^ a b Сандерс, Н. (09.05.2006). «Фонон и будущее мультимедиа KDE» . Проверено 19 декабря 2007 .
- ^ Гатри, Колин. "Qt Multimedia / Mobility vs. Phonon: БОРЬБА !!!" . Проверено 20 ноября 2010 .
- ^ "Модуль QtMultimedia" . Проверено 20 ноября 2010 .
- ^ «Обзор API Qt Mobility Project» . Проверено 20 ноября 2010 .
- ^ a b Унрау, Трой (2007-02-06). «Путь к KDE 4: Phonon делает мультимедиа проще» . Проверено 19 декабря 2007 .
- ^ "Phonon - KDE UserBase Wiki" . Проверено 1 марта 2012 .
Внешние ссылки [ править ]
- Домашняя страница Phonon
- Код Phonon (размещен на git.kde.org)