Java Media Framework | |
---|---|
Тип | мультимедийный фреймворк |
Автор | Sun Microsystems |
Разработчик | Sun Microsystems |
Написана на | Java |
Первый выпуск | 1997 |
Аппаратная платформа | кроссплатформенность |
Последняя версия | |
Лицензия | пользовательское соглашение[1] |
Сайт | oracle.com/technetwork/j… |
Java Media Framework (англ. Каркас мультимедийных Java приложений) — библиотека, облегчающая разработку программ, работающих с аудио и видео.
Во второй версии библиотеки была добавлена поддержка кодирования и декодирования MP3, но позже в 2000 году она была исключена из поставки. В 2004 году было опубликовано дополнение для воспроизведения MP3 данных. Скомпилированные файлы доступны под различными лицензиями, а код под SCSL.
Текущая версия поставляется с набором JAR файлов и сценариев для запуска приложений использующих JMF:
Библиотека абстрагирует работу с мультимедиа посредством DataSource
для импорта и DataSink
для экспорта мультимедийных данных. Данный подход позволяет разработчикам одинаково работать со всеми форматами данных, поддерживаемых JMF.
Класс Manager
предоставляет статические методы, наиболее часто используемые для работы с библиотекой.
Одним из основным недостатков библиотеки можно назвать отсутствие поддержки многих современных форматов. Например, на всех платформах Java невозможно воспроизведение MPEG-2, MPEG-4, Windows Media, RealMedia, большинства видео QuickTime, данных Flash версий больше 2-ой, а для воспроизведения MP3 требуется дополнение[4]. А большинство дополнений улучшающих быстродействие доступны только для Linux, Solaris и Windows.
Название | Описание | Состояние | Лицензия | Сайт |
---|---|---|---|---|
Freedom for Media in Java (FMJ) | реализация JMF с открытым исходным кодом | не обновлялся с 2007 года | - | |
Java Sound API | - | вышла в апреле 2004 | - | |
QuickTime for Java (en) | разрабатывалась Apple | не разрабатывается | - | - |
IBM Toolkit for MPEG-4 | - | - | - | |
Jffmpeg | Частичный порт FFMPEG на Java для использования с JMF | не обновлялся с 2006 года | - | |
jvlc | - | не разрабатывается | - | |
vlcj | Позволяет встраивать плеер VLC в AWT или Swing приложение | активное | - | |
gstreamer-java | библиотека для использования gstreamer 0.10 в Java | почти не развивается | - | |
Cortado | Ogg Vorbis и Theora Java applet плеер | - | - | |
Directshow <> Java Wrapper | - | - | - | |
Fobs4JMF | - | не разрабатывается | - | |
JLayer MP3 library | - | - | - | |
Xuggler | - | не разрабатывается | GPLv3 или LGPL | |
Video4Linux4Java | библиотека для доступа к v4l и v4l2 | не обновлялся с августа 2013 года | GPLv3 |
Данная программа отображает AWT диалог открытия файла и пытается проиграть выбранный файл.
import javax.media.*;
import java.io.File;
import java.awt.*;
public class TrivialJMFPlayer extends Frame {
public static void main (String[] args) {
try {
Frame f = new TrivialJMFPlayer();
f.pack();
f.setVisible (true);
} catch (Exception e) {
e.printStackTrace();
}
}
public TrivialJMFPlayer()
throws java.io.IOException,
java.net.MalformedURLException,
javax.media.MediaException {
FileDialog fd = new FileDialog(this, "TrivialJMFPlayer", FileDialog.LOAD);
fd.setVisible(true);
File f = new File(fd.getDirectory(), fd.getFile());
Player p = Manager.createRealizedPlayer(f.toURI().toURL());
Component c = p.getVisualComponent();
add(c);/*this code dosn't work =P*/
p.start();
}
}
Большая часть текста программы предназначена для работы с AWT, в то время как только 2 строчки используют JMF.
Manager.createRealizedPlayer()
неявно создаёт DataSource
из полученного URL файла, с которым в дальнейшем работает объект Player
.getVisualComponent()
создаёт Component
, который может в дальнейшем использоваться как часть графического интерфейса. Если требуются элементы управления воспроизведением, то необходимо дополнительно вызвать метод getControlPanelComponent()
, который создаст объект, который можно также добавить в интерфейс программы.Данный пример одинаково подходит для всех типов мультимедиа, поддерживаемых библиотекой JMF.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .