2012-07-27 96 views
0

我使用VLC Webplugin在Chrome捕獲MediaPlayerPlaying事件

<div id="div-vlc" style="display: none;"> 
    <embed id="vlc" name="vlc" width="640" height="480" pluginspage="http://www.videolan.org" type="application/x-vlc-plugin" /> 
    <object style="width:0px;height:0px;" classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" codebase="http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab"> </object> 
</div> 

並試圖捕捉事件來控制與播放:

document.vlc.addEventListener('MediaPlayerPlaying', function() {alert();}) 

document.vlc.attachEvent('MediaPlayerPlaying', function() {alert();}) //crash 

像這樣的文檔說:http://wiki.videolan.org/Documentation:WebPlugin

但事件從未被解僱。

出了什麼問題?

回答

0

一些注意事項:

  • 首先,它不會工作,如果你將使「顯示:無」。
  • 其次,嵌入中必須有src/target。
  • 最後但並非最不重要的是,對象的大小必須至少爲1x1px。

這將提醒回調:

var vlc=document.getElementById('vlc'); 
vlc.addEventListener("MediaPlayerPlaying", function(event) {alert(event);}, false); 
vlc.playlist.play();  

請注意,這是對Firefox &鉻。由於IE使用ActiveX,所以使用另一種表示法。有關完整的文檔,請訪問https://wiki.videolan.org/Documentation:WebPlugin/

1

只是想了解一下當dinamically加載時ASP.NET對VLC所做的一件奇怪事情。

當在aspx.cs或ascx.cs中以像素爲單位設置特定的寬度和高度時,ASP.NET向ActiveX返回錯誤的寬度和高度屬性。示例:

aspx.cs或ascx.cs文件:當客戶端是IE8或

myLiteral.Text = @"<object type='application/x-vlc-plugin' 
width='150px' height='100px' 
pluginspage='http://www.videolan.org' version='VideoLAN.VLCPlugin.2' events='True' classid='clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921'>Check activex settings</object>"; 

HTML返回更大:

<object type='application/x-vlc-plugin' 
width=0px height=0px style='HEIGHT:0px;WIDTH:0px;TOP:0px;LEFT:0px' pluginspage='http://www.videolan.org' version='VideoLAN.VLCPlugin.2' events='True' classid='clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921'>Check activex settings</object> 

在IE8和IE9只發生在第一VLC的ActiveX 。在IE10中,它發生在所有的VLC ActiveX中。

我的解決方法是在我的VLC加載JavaScript一點的jQuery:

$(plugin).width(playerWidth); 
$(plugin).height(playerHeight); 
$(plugin).attr('style', ''); 

希望它可以幫助:-)

1

順便說一句,在https://wiki.videolan.org/Documentation:WebPlugin/的信息在以後的版本已經過時。

代碼庫網址'http://download.videolan.org/pub/videolan/vlc/last/win32/axvlc.cab'不存在了...

下一直很好,我:

<object type='application/x-vlc-plugin' pluginspage='http://www.videolan.org' version='VideoLAN.VLCPlugin.2' id='vlc1' width='100px' height='150px' events='True' classid='clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921'> 
    <param name='MRL' value='' /> 
    <param name='toolbar' value='false' /> 
    <param name='autoplay' value='false' /> 
    <param name='loop' value='false' /> 
    <param name='allowfullscreen' value='true' /> 
ActiveX not loaded. Check IE settings</object> 

的Javascript:

var plugin = document.getElementById('vlc1'); 
$(plugin).width(playerWidth); 
$(plugin).height(playerHeight); 
$(plugin).attr('style', ''); 
// Add items to plugin.playlist