Flowplayer в fancybox? - PullRequest
       25

Flowplayer в fancybox?

1 голос
/ 03 июня 2010

Я пытаюсь показать Flowplayer внутри Fancybox, но не могу заставить его работать. Это мой код до сих пор;

            $("a.video_link").click(function () {

            $.fancybox({
                'autoScale': false,
                'transitionIn': 'none',
                'transitionOut': 'none',
                'title': this.title,
                'width': 680,
                'height': 495,
                'href': '/flowplayer/flowplayer.swf?video=myvideo.flv', /* have also tried a couple of other options for the url settings, but without luck)
                'type': 'swf',
                'swf': {
                    'wmode': 'transparent',
                    'allowfullscreen': 'true'
                }
            });

            return false;
        });

Есть предложения?

Ответы [ 3 ]

2 голосов
/ 02 июля 2011

Попробуйте вручную запустить fancybox и установить его содержимое в flowplayer. Например, по ссылке:

<a href="http://pseudo01.hddn.com/vod/demo.flowplayervod/flowplayer-700.flv" 
    class="videoLink">Demo</a>

создайте функцию щелчка JQuery следующим образом:

$('a.videoLink').click(function(e) {
    e.preventDefault();

    var container = $('<div/>');

    container.flowplayer(
        'http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf',
        $(this).attr('href')
    );

    $.fancybox({
        content: container,
        width: 300, height: 200,
        scrolling: 'no',
        autoDimensions: false
    });
});

Обратите внимание, что flowplayer по умолчанию принимает размер своего контейнера, поэтому для правильного просмотра необходимо указать конечные размеры.

0 голосов
/ 21 февраля 2012

Я делаю это много, единственный способ заставить его работать, просто сделав это,

JavaScript >>

flowplayer(".player", "http://www2.imperial.ac.uk/business-school/etu/courses_1112/common/scripts/flowplayer/flowplayer-3.2.7.swf");

$('.yourbox').fancybox();

HTML >>

<a class="yourbox" href="#data" >This shows content of element who has id="data"</a>

<div style="display:none">
   <div id="data">
       <a href="http://helix.imperial.ac.uk/bsflash/courses/finance_group/ethics/icm.mp4" style="display:block;width:640px;height:360px" class="player"></a>
   </div>
</div>

Если вы сделаете это таким образом, при закрытии ящика вам нужно будет поставить хак т.е.

0 голосов
/ 03 июня 2010

Вы пытались создать объект SWF с помощью jQuery, задав для этого параметры swf, а затем с помощью параметра содержимого потоковых проигрывателей непосредственно установить html модели .??

Также попробуйте проверить свое окно отладки, также посмотрите, есть ли какие-либо ошибки, появляющиеся.

- E.G

var flashvars = { //Change this with $.extend within click callback if you need to!
    file : 'yvideo.flv'
}
var flowBoxParams = {
     'autoScale': false,
    'transitionIn': 'none',
    'transitionOut': 'none',
    'width': 680,
    'height': 495,
}

var $conatiner = $('<div></div>').attr('id','MediaPlayerHolder').hide();

swfobject.embedSWF("/flowplayer/flowplayer.swf","MediaPlayerHolder","300","120","9.0.0",flashvars,params,attributes);

$("a.video_link").click(function(){
      //Merge basic settings with title
      params = $.extend(flowBoxParams,{title:this.title,html:$container});

      //Send object to FlowPlay
      $.fancybox(params);

     //Show the video play
     $($container).show();
});

Это просто установка переменных с настройками по умолчанию в них (flashvars, flowBoxParams), создание пустого контейнера div с идентификатором (MediaPlayerHolder) и настройка его отображения: нет.

Затем мы создадим базовый flash-элемент с swfObject, который будет вашим swf-плейером, и назначим его скрытому контейнеру div.

Затем мы ждем активации клика пользователя и затем изменяем настройки по умолчанию, чтобы добавить значение заголовка в параметры Flowplayer.

Затем мы просим игрока потока начать то, что ему нужно сделать.

с тонким изменением видимости контейнера.

Это не проверено, но если здесь есть какие-либо ошибки, они должны быть незначительными, если только поток не является строгим, когда дело доходит до загрузки SWF-файла.

...