Фонон (программное обеспечение)
![]() | |
![]() Ранний скриншот менеджера настроек Phonon. | |
Разработчик(и) | Матиас Кретц и др. [ нужна ссылка ] |
---|---|
Первоначальный выпуск | 11 января 2008 г [ 1 ] |
Стабильная версия | 4.11.1
/ 26 сентября 2019 г [ 2 ] |
Репозиторий | изобретать |
Написано в | С++ |
Операционная система | Linux , BSD , macOS , Солярис , Windows |
Тип | Мультимедийная структура |
Лицензия | Меньшая стандартная общественная лицензия GNU 2.1 |
Веб-сайт | база пользователей |
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 ]
Серверные части
[ редактировать ]- В большинстве Unix-подобных систем поддерживаются серверные части GStreamer и VLC .
- Поддерживаемые серверные части в Windows включают DirectShow , VLC и MPlayer .
- Поддерживаемая серверная часть в macOS — QuickTime .
- Серверные части xine и MPlayer устарели в Linux и больше не разрабатываются. [ 9 ]
См. также
[ редактировать ]- PulseAudio – популярный звуковой сервер для настольного использования
- JACK Audio Connection Kit – превосходный звуковой сервер для профессионального аудиопроизводства
Ссылки
[ редактировать ]- ^ «Выпущен KDE 4.0» . 11 января 2018 г. Проверено 23 октября 2019 г.
- ^ «Объявление о выпуске Phonon 4.11.1» . 26 сентября 2019 г. Проверено 23 октября 2019 г.
- ^ Крец, Матиас. «Справочник по классу MediaObject» . Архивировано из оригинала 26 апреля 2008 г. Проверено 19 декабря 2007 г.
- ^ Jump up to: а б Сандерс, Н. (9 мая 2006 г.). «Phonon и будущее мультимедиа KDE» . Проверено 19 декабря 2007 г.
- ^ Гатри, Колин. «Qt Multimedia/Mobility против Phonon: БОРЬБА!!!» . Архивировано из оригинала 27 мая 2010 г. Проверено 20 ноября 2010 г.
- ^ «Модуль QtMultimedia» . Архивировано из оригинала 28 августа 2010 г. Проверено 20 ноября 2010 г.
- ^ «Обзор API-интерфейсов проекта Qt Mobility» . Архивировано из оригинала 2 мая 2010 г. Проверено 20 ноября 2010 г.
- ^ Jump up to: а б Унрау, Трой (6 февраля 2007 г.). «Путь к KDE 4: Phonon упрощает мультимедиа» . Проверено 19 декабря 2007 г.
- ^ «Фонон — KDE UserBase Wiki» . Проверено 1 марта 2012 г.
Внешние ссылки
[ редактировать ]- Домашняя страница Фонона
- Фононный код (размещен на invent.kde.org)