Как воспроизвести видео в asp.net с Google Youtube API и захватить событие onStatusChange? - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть 2 вопроса

1. Я просто хочу знать, как встроить видео YouTube в веб-сайт asp.net с Google Youtube .Net Library?

2. когда пользователь нажимаетна кнопке воспроизведения на плеере YouTube я хочу, чтобы это действие могло вызвать событие, позволяющее мне отправить кому-либо электронное письмо.

Если бы кто-нибудь смог продемонстрировать код и пояснения, я был бы очень признателен:)1007 *

Заранее спасибо.

Уинстон

1 Ответ

0 голосов
/ 22 августа 2012

Это я.Спустя более 1 года, когда я увидел, на этот вопрос никто не ответил.Я решил записать свое решение, надеюсь, оно будет полезно.

  1. Импорт проигрывателя Google Youtube
 <script src="http://www.google.com/jsapi" type="text/javascript"></script>
  1. Добавьте код js

       google.load("swfobject", "2.1");
    
        function updateHTML(elmId, value) {
            document.getElementById(elmId).innerHTML = value;
        }
    
        // Loads the selected video into the player.
        function loadVideo() {
            var selectBox = document.getElementById("videoSelection");
            var videoID = selectBox.options[selectBox.selectedIndex].value
    
            if (ytplayer) {
                ytplayer.cueVideoById(videoID);
    
            }
        }
    
        // This function is called when an error is thrown by the player
        function onPlayerError(errorCode) {
            alert("An error occured of type:" + errorCode);
        }
    
        var target = "";
    
        // This function is automatically called by the player once it loads
        function onYouTubePlayerReady(playerId) {
    
            ytplayer = document.getElementById("ytPlayer");
            ytplayer.addEventListener("onError", "onPlayerError");
            ytplayer.addEventListener("onStateChange","onPlayStateChange");
    
            target = document.forms[0].target;
    
        }
    
    
    
        //unstarted (-1), ended (0), playing (1), paused (2), buffering (3), video cued (5)
        var n = 0;
        function onPlayStateChange(newState) {
    
            if (newState == 1) {
    
                document.forms[0].elements["Send"].value = "1";
                document.forms[0].target = "SendFrame";
                document.forms[0].submit();
                updateHTML("counter", ++n);
            }
            else {
                document.forms[0].elements["Send"].value = "0";
                document.forms[0].target = target;
            }           
        }
    
        // The "main method" . Called when someone clicks "Run".
        function loadPlayer() {
            // The video to load
            var videoID = "ylLzyHk54Z0"
            // Lets Flash from another domain call JavaScript
            var params = { allowScriptAccess: "always" };
            // The element id of the Flash embed
            var atts = { id: "ytPlayer" };
            // All of the magic handled by SWFObject (http://code.google.com/p/swfobject/)
            swfobject.embedSWF("http://www.youtube.com/v/" + videoID +
                           "&enablejsapi=1&playerapiid=player1",
                           "videoDiv", "480", "295", "8", null, null, params, atts);
        }
        function _run() {
            loadPlayer();
        }
        google.setOnLoadCallback(_run);
    
    
    </script>
    
  2. Добавьте 2 элемента div в html-код, один для игрока, один для счетчика

    <div id="videoDiv">Load...</div>"    
    <div id="counter">0</div> 
    

Хорошо, это все, что вам нужно сделать:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...