1

すべてのブラウザーにvlc Web プラグインを実装しようとしています。

私が今から得ることができる最高のものは、IE 9および8のjavascript APIにアクセスすることなく、chromeやfirefoxなどのブラウザーで完全に機能するプラグインと静的プラグインです.

HTML :

<div class="span8" id="playerContainer">
    <!--[if IE]>
    <object
        classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" 
        id="vlcPlayer"
        name="vlcPlayer"
        events="True" width="800" height="450">
          <param name="Src" value="" />
          <param name="ShowDisplay" value="True" />
          <param name="AutoLoop" value="True" />
          <param name="AutoPlay" value="True" />
          <param name="Toolbar" value="false"></param>
    </object>
    <![endif]-->
</div>

ここで IE のプラグインをこのように含めます。これは、javascript で動的挿入を使用すると、プラグインの幅と高さが 0px に強制され、表示されないためです。

JS:

function initVLC(width,height,stream)
{
    var embed   = "<div>Error loading plugin</div>";

    if(! $.browser.msie) {
        embed = '<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org"'+
                        'id="vlcPlayer"'+
                        'toolbar ="false"'+
                        'autoplay="yes" loop="yes" width="'+width+'" height="'+height+'"'+
                        'target="" style="margin-bottom: 40px;" />';

        $('#playerContainer').html(embed);            
    }
    updateStream(stream);
}

function updateStream(stream)
{
    var vlc     = null;
    vlc = document.getElementById('vlcPlayer');
    vlc.playlist.stop();
    vlc.playlist.items.clear();
    vlc.playlist.add(stream);
    vlc.playlist.play();
}

Chrome または firefox では、すべて正常に動作します。IEupdateStream()では、プラグインを呼び出さないと表示されますが、javascript API を使用しようとするとすぐにプラグインが消え (DOM に存在するが表示されません)、何も起こりません。

IE9 でデバッグすると、vlc オブジェクトは問題ないようで、エラーは表示されません。

IE9 の vlc オブジェクト

IE 9 および 8 で JS API を使用して、 vlc によって再生されるストリームを初期化および更新するにはどうすればよいですか?

どんな作業サンプルも大歓迎です

注:Win 7 64ビットでvlc 2.0.5でテストしており、私のWebページにはhtml5 doctypeがあります

4

1 に答える 1

0

Firebreath を使用する vlc プラグインであるFbVLCに切り替えました。

それはうまく機能しており、Windows以外のクライアントでクラシックvlcのフォールバックが必要です。

于 2013-02-11T08:02:23.727 に答える