2010-07-26 156 views
0

這裏我是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播放器時,或者在我們使用低帶寬互聯網連接時,這是最好的。請告訴我一些有用的解決方案?

感謝

回答

0

傢伙,我發現它爲什麼不工作我失蹤,應該是「〜/ MediaFile.wmv」,而不是使用Server.Mappath(....)正確的源路徑。

1

要回答你的問題,這部分:

告訴我是什麼樣的銀色光媒體元素和媒體播放器之間的差異。

您使用的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