播放来自asp.net网站的YouTube视频 [英] Play youtube videoes from asp.net website

查看:145
本文介绍了播放来自asp.net网站的YouTube视频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过从列表框中的视频列表中选择视频,从我的网站播放YouTube视频。

下面的代码播放指定的视频,但我希望它是动态的,从列表框中选择播放视频。

请帮助:



< pre lang =   cs>< script> 
google.load( swfobject 2.1);

function updateHTML(elmId,value){
document 。 getElementById(elmId).innerHTML = value;
}

// 将所选视频加载到播放器中。
function loadVideo(){
var selectBox = document .getElementById( videoSelection);
var videoID = selectBox.options [selectBox.selectedIndex] .value

if (ytplayer){
ytplayer.cueVideoById(videoID);

}
}

// 此功能在播放器抛出错误时调用
function onPlayerError(errorCode){
alert( 出现类型错误: + errorCode);
}

var target = ;

// 播放器加载后会自动调用此函数
function onYouTubePlayerReady(playerId){

ytplayer = document .getElementById ( ytPlayer);
ytplayer.addEventListener( onError onPlayerError);
ytplayer.addEventListener( onStateChange onPlayStateChange);

target = document .forms [ 0 ]。target;

}



// unstarted(-1),ends(0),playing(1),paused(2),buffering(3),video ced(5)
var n = 0 ;
function onPlayStateChange(newState){

if (newState = = 1 ){

document .forms [ 0 ]。elements [ 发送]。value = 1;
document .forms [ 0 ]。target = SendFrame;
document .forms [ 0 ]。submit();
updateHTML( counter,++ n);
}
其他 {
document .forms [ 0 ]。elements [ 发送]。value = 0;
document .forms [ 0 ]。target = target;
}
}

// 主要方法。当有人点击运行时调用。 ylLzyHk54Z0
function loadPlayer(){
// 要加载的视频
var videoID = https://www.youtube.com/v/vGR5h2sqrXw

// 让来自其他域的Flash调用JavaScript
var params = {allowScriptAccess:< span class =code-string>
always};
// Flash嵌入的元素ID
var atts = {id: ytPlayer};
// SWFObject处理的所有魔法(http://code.google.com/p/ swfobject /)
swfobject.embedSWF(videoID + & enablejsapi = 1& playerapiid = player1 videoDiv 480 295 8 null null ,params,atts);
}
function _run(){
loadPlayer();
}
google.setOnLoadCallback(_run);
< / script>







 <   form     id   =  form1      runat   = < span class =code-keyword> server >  
< div >
< div id = videoDiv > 加载... < / div >
< div id = counter > 0
< span class =code-keyword>< br / >
< asp:ListBox ID = ListBox1 runat = server >
< asp:ListItem 文字 = 视频一 = http://www.youtube.com/v/ylLzyHk54Z0 > < / asp:ListItem >
< asp:ListItem 文字 = 视频二 = https://www.youtube.com/v/vGR5h2sqrXw > < ; / asp:ListItem >
< asp:ListItem 文字 = 视频三 = https://www.youtube .com / v / 4xfTsO21RiM > < / asp:ListItem >
< asp:ListItem > < / asp:ListItem >
< / asp:ListBox >
< / div >
< / div >
< / form >

解决方案

你可以在变更事件上调用javascript方法,如下所示

 <   asp:listbox     id   =  ListBox1    runat   =   server     onchange   =  PlayVideo(this);    >  
< asp:listitem text = 视频一 = http://www.youtube.com/v/ylLzyHk54Z0 > < / asp:listitem >
< asp:listitem text = 视频二 value = https://www.youtube.com/v/vGR5h2sqrXw > < / asp:listitem >
< asp:listitem text = 视频三 value = https://www.youtube.com/v/4xfTsO21RiM > < / asp:listitem >
< asp:listitem >
< / asp:listitem > < / asp:listbox >



并在javascript中创建方法来播放所选视频

  function  PlayVideo(list){
// 要加载的视频
var videoID = list 。值;
// 让来自其他域的Flash调用JavaScript
var params = {allowScriptAccess: always};
// Flash嵌入的元素ID
var atts = {id: ytPlayer};
// SWFObject处理的所有魔法(http://code.google.com/p/ swfobject /)
swfobject.embedSWF(videoID + & enablejsapi = 1& playerapiid = player1 videoDiv 480 295 8 null null ,params,atts);

}





更新:

< pre lang =Javascript>< script type = text / javascript src = http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js> < /脚本>
< script type = text / javascript>
function PlayVideo(list){
var flashvars = {};
var params = {wmode:' opaque '};
var attributes = {name: mymovie };
swfobject.embedSWF(list.value + & enablejsapi = 1& playerapiid = player1 videoDiv < span class =code-string> 400, 200 8.0.0 null ,flashvars,参数,属性);
}
< / script>


I want to play a youtube video from my website by selecting the video from a list of videos in a listbox.
the code below plays the video specified, but I want it to be dynamic, that is to play the video when selected from a listbox.
Please help:

<pre lang="cs"><script>
     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". ylLzyHk54Z0
     function loadPlayer() {
         // The video to load
         var videoID = "https://www.youtube.com/v/vGR5h2sqrXw"

         // 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(videoID + "&enablejsapi=1&playerapiid=player1", "videoDiv", "480", "295", "8", null, null, params, atts);
     }
     function _run() {
         loadPlayer();
     }
     google.setOnLoadCallback(_run);
</script>




<form id="form1"  runat="server">
    <div>
    <div id="videoDiv">Load...</div>   
<div id="counter">0
<br />
    <asp:ListBox ID="ListBox1" runat="server">
    <asp:ListItem Text="Video one" Value="http://www.youtube.com/v/ylLzyHk54Z0"></asp:ListItem>
     <asp:ListItem Text="Video two" Value="https://www.youtube.com/v/vGR5h2sqrXw"></asp:ListItem>
      <asp:ListItem Text="Video three" Value="https://www.youtube.com/v/4xfTsO21RiM"></asp:ListItem>
    <asp:ListItem></asp:ListItem>
    </asp:ListBox>
</div> 
    </div>
    </form>

解决方案

you can call javascript method on change event as below

<asp:listbox id="ListBox1" runat="server" onchange="PlayVideo(this);" >
    <asp:listitem text="Video one" value="http://www.youtube.com/v/ylLzyHk54Z0"></asp:listitem>
     <asp:listitem text="Video two" value="https://www.youtube.com/v/vGR5h2sqrXw"></asp:listitem>
      <asp:listitem text="Video three" value="https://www.youtube.com/v/4xfTsO21RiM"></asp:listitem>
    <asp:listitem>
</asp:listitem></asp:listbox>


and create method in javascript to play selected video

function PlayVideo(list) {
           // The video to load
         var videoID = list.value;
         // 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(videoID + "&enablejsapi=1&playerapiid=player1", "videoDiv", "480", "295", "8", null, null, params, atts);
   
}



update :

<script  type ="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script type ="text/javascript">
    function PlayVideo(list) {
        var flashvars = {};
        var params = { wmode: 'opaque' };
        var attributes = { name: "mymovie" };
        swfobject.embedSWF(list.value + "&enablejsapi=1&playerapiid=player1", "videoDiv", "400", "200", "8.0.0", null, flashvars, params, attributes);
    }
</script>


这篇关于播放来自asp.net网站的YouTube视频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆