すべてのブラウザーに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 オブジェクトは問題ないようで、エラーは表示されません。
IE 9 および 8 で JS API を使用して、 vlc によって再生されるストリームを初期化および更新するにはどうすればよいですか?
どんな作業サンプルも大歓迎です
注:Win 7 64ビットでvlc 2.0.5でテストしており、私のWebページにはhtml5 doctypeがあります