0

私は主に HTML5 ビデオに jsvideo を使用していますが、そのフラッシュ フォールバックとして flowplayer を使用しています... flowplayer が使用する swf ファイルを http ソースから取得する必要があることを除いて、動作しています...それを作成する方法はありますか?サーバーにファイルを置くことができますか?

更新: これは実際に使用しているコードです。フラッシュ フォールバック セクションで、swf メディアを直接参照しようとしましたが、機能しません。「data」、「param name="movie" value="、および "param name="flashvars" ... url」の flowplayer.org/swf/flowplayer-3.2.1.swf を参照する場合にのみ機能します。

 $.fancybox({
                'padding': 0,
                'overlayOpacity': 0.7,
                'autoDimensions': false,
                'width': 650,
                'height': 274,
                'content': '<div><div class="video-js-box">' +
                            '<video id="example_video_1" class="video-js" width="640" height="264" controls="controls" preload="auto" poster="' + url + '.png">' +
                            '<source src="' + url + '.mp4" />' +
                            '<source src="' + url + '.webm" />' +
                            '<source src="' + url + '.ogv"  />' +
                              '<!-- Flash Fallback. Use any flash video player here. Make sure to keep the vjs-flash-fallback class. -->' +
                              '<object id="flash_fallback_1" class="vjs-flash-fallback" width="640" height="264" type="application/x-shockwave-flash"' +
                                'data="/Content/media/flowplayer-3.2.1.swf">' +
                                '<param name="movie" value="/Content/media/flowplayer-3.2.1.swf" />' +
                                '<param name="allowfullscreen" value="true" />' +
                                '<param name="flashvars" value=\'config={"playlist":["' + url + '.png", {"url": "/Content/media/oceans-clip.mp4","autoPlay":false,"autoBuffering":true}]}\' />' +
                                '<!-- Image Fallback. Typically the same as the poster image. -->' +
                                '<img src="' + url + '.png" width="640" height="264" alt="Poster Image"' +
                                 ' title="No video playback capabilities." />' +
                              '</object>' +
                            '</video>' +
                            '</div></div>',
                'onComplete': function () { $("#fancybox-inner").css({ 'overflow': 'hidden' }); },
                'onClosed': function () { $("#fancybox-inner").empty(); }
            });

html5 ビデオのソースはすべて「/Content/media/name.mp4」から取得できますが、swf ファイル (具体的には flowplayer-3.2.1.swf と「url」は http://ソース

(pngファイルはローカルで参照できますが)

これを回避する方法はありますか?これが理にかなっていることを願っています

4

2 に答える 2

1

flowplayer.org ドメインから SWF を要求しているため、参照を絶対 HTTP ファイルとして渡す必要があります。

Flash では、相対パスは、SWFを埋め込む HTML ページ (つまり、HTML ページ) を含むディレクトリからではなく、SWF が提供されるディレクトリ(この場合は )に基づいています。http://releases.flowplayer.org/swf/

サーバーに相対的な相対パスを使用する場合は、サーバーで をホストする必要がありflowplayer-3.2.1.swfます。http絶対URIを使用して動画にリンクする方がおそらく簡単です。

于 2010-11-23T18:31:04.497 に答える
1

gthmb が言ったように、SWF のディレクトリを使用する必要があります。これが実際のサンプルです:

<object type="application/x-shockwave-flash" data="/Tools/flowplayer-3.2.12.swf" width="600px" height="338px">
                            <param name="movie" value="Tools/flowplayer-3.2.12.swf">
                            <param name="allowFullScreen" value="true">
                            <param name="wmode" value="transparent">
                            <param name="flashVars" value="config={'playlist':['../Video/myVideo.jpg',{'url':'../Video/myVideo.mp4','autoPlay':false}]}">
                            <img src="video/myVideo.jpg" width="600px" height="480px"></object></video>

1つ上のディレクトリに移動するには、「../」を使用する必要があります。「Tools」ディレクトリと「video」ディレクトリは同じレベルにあります。

于 2012-11-22T15:34:20.413 に答える