2013-01-05 44 views
1

我正在創建一個在C#(winform)中播放youtube視頻的應用程序。現在,當視頻結束時,我想發起一個事件,或類似的事情。 我使用web瀏覽器控制和呼叫YouTube視頻這樣的:Youtube嵌入式播放器:視頻結束時發生的事件

wbYoutube.Navigate("http://www.youtube.com/v/" + playString[1] + "?version=3&enablejsapi=1&autoplay=1"); 

playString [1]是YouTube視頻ID(像rGJN5K2cV_8)。

我一直在試圖讓這工作幾天,有沒有人有一個想法如何實現這一目標?如果它甚至可能...

如果您需要更多信息,請告訴我。 感謝

回答

1

我認爲這是可能的,但你必須自己

wbYoutube.DocumentText = ""; 

這裏寫html代碼到瀏覽器元素是HTML(你必須轉義)

<html><head></head><body> 

    <script type='text/javascript' src='http://www.youtube.com/player_api'></script> 
    <iframe id="player" width="100%" height="100%" src="http://www.youtube.com/embed/VIDEO_ID?autoplay=1&controls=0&enablejsapi=1" frameborder="0" allowfullscreen></iframe> 
    <script type="text/javascript"> 
    var player; 
    function onYouTubeIframeAPIReady() { 
     player = new YT.Player('player', { 
      videoId: 'VIDEO_ID', 
      events: { 
       'onStateChange': function(evt){ 
        if(evt.data == 0){ 
         window.external.Test('Video finished!!'); 
        } 
       } 
      } 
     }); 
    } 
    </script> 

</body></html> 

並看看Implement Two-Way Communication Between DHTML Code and Client Application Code

在那裏你可以找到剩下的代碼。

+0

感謝您的回覆。我無法正常工作。我必須使用youtube.com/embed還是也可以使用youtube.com/v?因爲當我使用嵌入的,而不是V IN播放器的控件沒有出現某種原因...編輯:該功能的工作,它似乎JavaScript部分還沒有成型 – RobinvdA

+0

您必須使用「嵌入」的網址。要啓用控件,請更改參數'&controls = 1'' http://www.youtube.com/embed/VIDEO_ID?autoplay = 1&controls = 1&enablejsapi = 1'。哪個JavaScript部分不起作用?有關此api的更多信息[這裏](https://developers.google.com/youtube/iframe_api_reference) – bitWorking

+0

我已經嘗試過控制參數,但它沒有改變任何東西。我明天會再試一些東西。太糟糕了,我不得不使用iframe,因爲現在有些視頻不會播放。 – RobinvdA

相關問題