Phonon

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Phonon
Phonon-logo.png
Тип

мультимедийный фреймворк

Разработчики

Маттиас Крец, команда разработчиков Phonon

Написана на

C++

Операционная система

кросс-платформенное программное обеспечение

Последняя версия

4.6.0 (20 декабря 2011)

Лицензия

GNU LGPL

Сайт

phonon.kde.org

Phonon — мультимедийный фреймворк для KDE4, который предоставляет API для разработки мультимедиа-приложений. Phonon использует набор расширяемых модулей, выполняющих реальную работу.

Входит в состав Qt начиная с версии 4.4. До 4.5 версии поставлялся в виде исходников и стандартно был доступен только для коммерческой версии Qt[источник не указан 1573 дня]. В данный момент распространяется как часть 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:

Входящие в KDE:

Ссылки[править | править вики-текст]