Youtube嵌入式播放器:视频结束时的事件

时间:2013-01-05 13:36:23

标签: c# winforms youtube-api

我正在创建一个以C#(winform)播放youtube视频的应用程序。现在,我想在视频结束时发布一个类似的事件。 我正在使用webbrowser控件并调用像这样的youtube视频:

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

playString [1]是youtube视频ID(如rGJN5K2cV_8)。

我一直想让这个工作几天,有人知道如何实现这个目标吗?如果它甚至可能......

如果您需要更多信息,请与我们联系。 感谢

1 个答案:

答案 0 :(得分:1)

我认为这是可能的,但您必须自己将html代码写入浏览器元素

wbYoutube.DocumentText = "";

这是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

你可以找到其余的代码。