播放来自asp.net网站的YouTube视频 [英] Play youtube videoes from asp.net website
问题描述
我想通过从列表框中的视频列表中选择视频,从我的网站播放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屋!