0

一連のリンクがあり、Flowplayer ( http://flowplayer.org ) と Fancybox ( http://fancybox.net/ ) の両方をセットアップしました。

<a class="fancybox" href="../public/video1.flv">Click here</a>
<a class="fancybox" href="../public/video2.flv">Click here</a>
<a class="fancybox" href="../public/video3.flv">Click here</a>
...

これらのビデオを Fancybox で開きたい (最終バージョンは 1.3 - 私のケースに合わない 1.2 のチュートリアルを読んでいます)。

<a class="fancybox" href="../jwplayer/player.swf?file=../public/video1.flv">Click here</a>
<a class="fancybox" href="../jwplayer/player.swf?file=../public/video2.flv">Click here</a>
<a class="fancybox" href="../jwplayer/player.swf?file=../public/video3.flv">Click here</a>
...
$('a.fancybox').fancybox({
    'titleShow': false,
    'type': 'swf',
    'width': 480,
    'height': 385,
});

Flowplayer では、この非常に単純なことが地獄のように感じられます

私は試した:

<a class="fancybox" href="../flowplayer/flowplayer-3.2.5.swf?&amp;config={'clip':'../public/video1.flv'}">Click here</a>
<a class="fancybox" href="../flowplayer/flowplayer-3.2.5.swf?&amp;config={'clip':'../public/video2.flv'}">Click here</a>
<a class="fancybox" href="../flowplayer/flowplayer-3.2.5.swf?&amp;config={'clip':'../public/video3.flv'}">Click here</a>

そして、コントロールバーがないことは別として、「エラー 301」のフリックが表示されます (おそらく、コントロールバー .swf を探しますが、読み込まれないためです) オンラインドキュメントで「パラメーターをクエリ文字列として埋め込む」機能を見つけるのは悪夢です(実際、他のサイトでこのアプローチを見つけました)、正しいか間違っているか、エラー301を回避するために何ができるかを確認できません

編集: エラー 301 を解決しました。元の「flowplayer.controls-3.2.3.swf」ファイルの名前を「flowplayer.controls.swf」に変更する必要があります (これはどこにも書かれていないので、推測する必要があります)。とにかく、IE7/8 ではひどくクラッシュするため、あまり役に立ちません。JavaScript コンソールがちらつき、「'null' は null であるか、オブジェクトではありません」と表示されます。

ここに投稿された jjames ソリューションも試してみました: http://flowplayer.org/forum/2/17398 しかし、うまくいきません: Firefox がクラッシュし、IE では、Fancybox がリソースを見つけてはいけないと通知します。とにかく、これは単一のファイルのようですが、リンクのhrefをパラメーターとして受け取る一般的な関数が必要です...だから、これは私には意味がありません...

$(".fancybox").fancybox({
    'callbackOnShow': function() { // callbackOnShow doesn't exists anymore on Fancybox 1.3; seems replaced by onComplete, but no luck
        flowplayer("fancy_div", "../flowplayer/flowplayer-3.2.5.swf", {
          clip: {
            baseUrl: 'http://www.myPathToVids',
            url: 'myVideo.flv' // I have not a single video! This should be a parameter taken from href of the clicked link
          }     
        }); 
    }
})

助けてください。前もってありがとう、私は怒っています...

4

1 に答える 1

3

ファンシーボックスを手動で起動して、そのコンテンツをフロープレーヤーに設定してみてください。たとえば、次のリンクがあるとします。

<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 はコンテナのサイズを占有するため、適切に表示するには有限のサイズを指定する必要があることに注意してください。

于 2011-07-01T20:50:22.180 に答える