使用Silverlight播放视频

问题描述:

这里我是Silverlight的新手,我必须在asp.net中用C#实现视频播放器,我找到了一些关于视频播放器和媒体播放器的文章。我正在实施根据教程,但那不是在这里工作我发送我的代码,请找出是什么问题。告诉我Silverlight中媒体元素和媒体播放器有何区别?使用Silverlight播放视频

这里是.aspx页面中

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls" TagPrefix="asp" %> 

<%@ Register assembly="AjaxControlToolkit" amespace="AjaxControlToolkit" tagprefix="cc1" %>  


<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
     <title>SILVERLIGHT MEDIA PLAYER | DEMO</title> 
    </head> 
    <body> 
     <form id="form1" runat="server"> 
     <div id="xx" runat="server"></div> 
     <asp:ScriptManager ID="ScriptManager1" runat="server" />  

      <div> 
       <div style="float:left"> 
        <asp:DropDownList ID="cmbSkins" runat="server" 
        onselectedindexchanged="cmbSkins_SelectedIndexChanged" /> 
       </div>    
       <div><h3>SELECT PLAYER STYLE</h3></div> 
      </div> 

      <asp:MediaPlayer ID="MediaPlayer1" runat="server" 
       Width="600px" 
       Height="440px" 
       PlaceholderSource="http://www.webinfocentral.com/VIDEO/JJ2008/ImgMain.JPG">     
      </asp:MediaPlayer> 
      <hr />    
      <hr />  
     </form> 
    </body> 
</html> 

的代码,这代码隐藏页:

public partial class _Default : System.Web.UI.Page 
{ 
protected enum MediaPlayerSkins 
{ 
    AudioGray, 
    Basic, 
    Classic, 
    Console, 
    Expression, 
    Futuristic, 
    Professional, 
    Simple 
} 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     MediaPlayer1.AutoPlay = true; 
     MediaPlayer1.ScaleMode = System.Web.UI.SilverlightControls.ScaleMode.Zoom; 

     cmbSkins.Items.Add(MediaPlayerSkins.Classic.ToString()); 
     cmbSkins.Items.Add(MediaPlayerSkins.Console.ToString()); 
     cmbSkins.Items.Add(MediaPlayerSkins.Expression.ToString()); 
     cmbSkins.Items.Add(MediaPlayerSkins.Futuristic.ToString()); 
     cmbSkins.Items.Add(MediaPlayerSkins.Professional.ToString()); 
     cmbSkins.Items.Add(MediaPlayerSkins.AudioGray.ToString()); 
     cmbSkins.Items.Add(MediaPlayerSkins.Simple.ToString()); 
     cmbSkins.AutoPostBack = true; 
     cmbSkins.SelectedIndex = 4; 

     MediaPlayer1.MediaSource = Server.MapPath("~/") + "Wildlife.wmv"; 
     xx.InnerHtml = Server.MapPath("~/") + "Wildlife.wmv"; 
     MediaPlayer1.MediaSkinSource = "~/MediaPlayerSkins/" + cmbSkins.SelectedValue + ".xaml"; 
    } 
} 


protected void cmbSkins_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    MediaPlayer1.MediaSkinSource = "~/MediaPlayerSkins/" + cmbSkins.SelectedValue + ".xaml"; 
} 

}

我不知道Silverlight的任何事情,这样做使用一篇文章,我只改变了玩家的来源,没有其他的东西,这是行不通的。

在我的脑海中,出现了一个问题,那就是在播放视频Flash播放器时,或者在我们使用低带宽互联网连接时,这是最好的。请告诉我一些有用的解决方案?

感谢

家伙,我发现它为什么不工作我失踪,应该是“〜/ MediaFile.wmv”,而不是使用Server.Mappath(....)正确的源路径。

要回答你的问题,这部分:

告诉我是什么样的银色光媒体元素和媒体播放器之间的差异。

您使用的MediaPlayer元素是一个ASP.NET控件,它包含一个基本的Silverlight播放器(使用Silverlight 1.0我认为)。您只需将它指向视频文件即可播放。 MediaPlayer为您提供播放媒体的所有基本控制(播放/暂停等)。

甲MediaElement的是在Silverlight应用程序中使用的Silverlight的类型,而不是ASP.NET应用程序象在MediaPlayer。 MediaElements用于XAML(即Silverlight标记)以表示媒体元素。该MediaElement的不给你控制播放的媒体,它只是呈现它(无论是音频或视频)。您可以使用XAML中的其他元素来控制MediaElement,例如如果你想要一个播放/暂停按钮,你可以创建另一个元素来做到这一点。

+0

非常感谢亲爱的,你能告诉我怎么样了,我可以实现我在asp.net页面此媒体元素,我尝试过很多文章,但......请告诉我一些好文章,或者如果可以的东西比它会是最好的对我来说...... – Abhishek 2010-07-26 05:52:10

+0

你不能直接在ASP.NET页面中使用MediaElement。您需要创建一个Silverlight应用程序,在其中使用MediaElement,然后将Silverlight应用程序托管在ASP.NET页面中。如果你只是想要一个简单的媒体播放器,在ASP.NET MediaPlayer控件可能是一个更容易上手。 – Jimmy 2010-07-26 14:56:19