Есть ли фреймворк или API какао для воспроизведения видео? - PullRequest
0 голосов
/ 17 сентября 2009

Короче говоря, я хочу создать простой видеоплеер, который может воспроизводить некоторые основные форматы видео, например, quicktime * .mov. Что мне нужно это:

  • Воспроизведение видео (по крайней мере, большинство основных форматов было бы здорово)
  • воспроизведение, пауза
  • нужна информация о том, где сейчас находится фильм (сколько секунд прошло или сколько процентов)

Я нацеливаюсь на Mac, для начала. Поэтому предпочтительной технологией является Какао и Objective-C. Но если для этого просто нет ничего, я мог бы представить, что можно что-то сделать с Java. Есть идеи?

Ответы [ 3 ]

12 голосов
/ 18 сентября 2009

QTKit - это (встроенная) среда Objective-C для разработки с QuickTime. Он включает QTMovieView и QTMovieLayer , подкласс NSView и CALayer соответственно для воспроизведения любого контента, который понимает QuickTime. Простые элементы управления воспроизведением могут дополнительно предоставляться этими элементами управления бесплатно. И то, и другое можно использовать в Интерфейсном Разработчике, что делает мультимедийное приложение делом с почти нулевым кодом. Руководство по программированию QuickTime поможет вам начать работу.

Вам также следует проверить образец кода QTKitPlayer . Он может выполнять все, что вы описываете, и показывает, как интегрировать все компоненты QTKit для приложения только для воспроизведения (QTKit также поддерживает захват и редактирование мультимедиа).

0 голосов
/ 18 сентября 2009

Если вы хотите использовать Java, тогда Java Media Framework или его аналог с открытым исходным кодом Freedom For Media в Java выполнит эту работу. FMJ имеет встроенную привязку к DirectShow, QuickTime For Java и Gstreamer. Он сделает все, что вам нужно, плюс немного больше. И вам не нужно беспокоиться о том, в каком формате вы играете.

0 голосов
/ 17 сентября 2009

Вы можете использовать QuickTime для Java

Это очень удобно.

Вот фрагмент:

        QTSession.open();
        String url = "http://......mov";
        DataRef dRef = new DataRef(url);
        Movie mov = Movie.fromDataRef (dRef, StdQTConstants.newMovieActive);
        MoviePlayer player = new MoviePlayer(mov);
        mov.start();
        JComponent qtPlayer = QTFactory.makeQTJComponent(player).asJComponent();

Снятое взятие взято из примеров: Timing Framework , написанный Chet Haase

Этот пример (пример из Timing Framework) выглядит так:

Java QuickTime http://img41.imageshack.us/img41/7268/capturadepantalla200909p.png

...