1

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 など)。

私はこれを数日間機能させようとしていますが、これを達成する方法について誰かが考えていますか? それさえ可能なら...

さらに情報が必要な場合は、お知らせください。ありがとう

4

1 に答える 1

2

これは可能だと思いますが、html コードを browser 要素に自分で記述する必要があります。

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>

また、DHTML コードとクライアント アプリケーション コード間の双方向通信の実装をご覧ください。

そこに残りのコードがあります。

于 2013-01-05T15:31:03.630 に答える