Classe MediaPlayer

Fornisce un lettore che esegue file multimediali (video o audio) utilizzando Silverlight in una pagina Web ASP.NET.

Spazio dei nomi:  System.Web.UI.SilverlightControls
Assembly:  System.Web.Silverlight (in System.Web.Silverlight.dll)

Sintassi

'Dichiarazione
Public Class MediaPlayer _
    Inherits Silverlight _
    Implements IScriptControl
'Utilizzo
Dim instance As MediaPlayer
public class MediaPlayer : Silverlight, 
    IScriptControl

Note

Quando è necessario riprodurre file audio o video nel sito Web, è possibile utilizzare il controllo MediaPlayer.

Il rendering del controllo server MediaPlayer su una pagina ASPX viene eseguito come un controllo client Sys.UI.Silverlight.MediaPlayer nella pagina HTML inviata al browser. È possibile interagire con il controllo client di MediaPlayer in fase di esecuzione utilizzando ECMAScript (JavaScript).

Le impostazioni della proprietà per il controllo server MediaPlayer vengono inviate al controllo client MediaPlayer come impostazioni di inizializzazione quando viene creata un'istanza del controllo.

La proprietà MediaSource indica il file multimediale per il controllo MediaPlayer.

L'aspetto del lettore può essere rappresentato tramite interfacce. L'interfaccia visualizzata è determinata dalla proprietà MediaSkinSource.

Sono disponibili diverse proprietà del controllo MediaPlayer che consentono di impostare i nomi delle funzioni di script client da chiamare in fase di esecuzione quando si verificano determinati eventi client. Ad esempio, la proprietà OnClientChapterStarted indica la funzione di script client chiamata in fase di esecuzione quando inizia un nuovo capitolo durante la riproduzione di un file multimediale.

Il controllo server MediaPlayer eredita dal controllo Silverlight. In questo modo vengono fornite automaticamente alle pagine Web con il controllo MediaPlayer alcune funzionalità Silverlight sottostanti, ad esempio viene rilevato se nel browser è installato il plug-in Silverlight e viene visualizzato un elemento grafico che consente all'utente di scaricare la versione richiesta del plug-in Silverlight se non è installato.

Il controllo server MediaPlayer eredita diverse proprietà dal controllo Silverlight che consentono di specificare il nome di una funzione JavaScript da chiamare quando si verificano determinati eventi client sul plug-in Silverlight. Ad esempio, quando viene ridimensionato il plug-in, viene eseguita la funzione JavaScript il cui nome è indicato dal valore della proprietà OnPluginResized.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo del controllo MediaPlayer. Viene inoltre illustrato come impostare proprietà specifiche per modificare l'aspetto del plug-in client Silverlight.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>ASP.NET Controls for Silverlight</title>
    <link href="~/SilverlightStyles.css" type="text/css" rel="Stylesheet" />
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="false" />
        <div>
            <h2>ASP.NET Controls for Silverlight: Using The MediaPlayer Server Control</h2>
            <p></p>
            <asp:MediaPlayer runat="server" ID="MediaPlayer1" ScaleMode="Stretch" AutoPlay="true" 
                MediaSource="../media/expressionstudio.wmv" Height="240" Width="320"
                PluginBackgroundColor="Black"  MediaSkinSource="../skins/Expression.xaml"/>
            <p></p>
            <asp:MediaPlayer runat="server" ID="MediaPlayer2" ScaleMode="None" AutoPlay="true" 
                MediaSource="../media/expressionstudio.wmv" Height="240" Width="320"
                PluginBackgroundColor="Black" MediaSkinSource="../skins/Expression.xaml" />
            <p></p>
            <asp:MediaPlayer runat="server" ID="MediaPlayer3" ScaleMode="Zoom" AutoPlay="true" 
                 MediaSource="../media/expressionstudio.wmv"
                PluginBackgroundColor="Black" MediaSkinSource="../skins/Expression.xaml" />
        </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
    TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>ASP.NET Controls for Silverlight</title>
    <link href="~/SilverlightStyles.css" type="text/css" rel="Stylesheet" />
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="false" />
        <div>
            <h2>ASP.NET Controls for Silverlight: Using The MediaPlayer Server Control</h2>
            <p></p>
            <asp:MediaPlayer runat="server" ID="MediaPlayer1" ScaleMode="Stretch" AutoPlay="true" 
                MediaSource="../media/expressionstudio.wmv" Height="240" Width="320"
                PluginBackgroundColor="Black"  MediaSkinSource="../skins/Expression.xaml"/>
            <p></p>
            <asp:MediaPlayer runat="server" ID="MediaPlayer2" ScaleMode="None" AutoPlay="true" 
                MediaSource="../media/expressionstudio.wmv" Height="240" Width="320"
                PluginBackgroundColor="Black" MediaSkinSource="../skins/Expression.xaml" />
            <p></p>
            <asp:MediaPlayer runat="server" ID="MediaPlayer3" ScaleMode="Zoom" AutoPlay="true" 
                 MediaSource="../media/expressionstudio.wmv"
                PluginBackgroundColor="Black" MediaSkinSource="../skins/Expression.xaml" />
        </div>
    </form>
</body>
</html>

Nell'esempio seguente viene inoltre illustrato come impostare proprietà, quali MediaSource e MediaSkinSource, della classe MediaPlayer.

<%@ Page Language="C#" %>
<%@ Register assembly="System.Web.Silverlight" namespace="System.Web.UI.SilverlightControls" tagprefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    protected void  DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        MediaPlayer1.MediaSource = DropDownList1.SelectedValue.ToString();
    }
    protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
    {
        MediaPlayer1.MediaSkinSource = DropDownList2.SelectedValue.ToString();
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>MediaPlayer</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:MediaPlayer 
            ID="MediaPlayer1" 
            runat="server" 
            MediaSource="../media/video1.wmv"
            MediaSkinSource="../skins/Professional.xaml"
            PlaceholderSource="../media/image0.jpg"
            ScaleMode="Stretch"
            AutoLoad="false"
            AutoPlay="false"
            PluginBackground="Black"
            Height="240px" 
            Width="320px">
            <PluginNotInstalledTemplate>
                Silverlight is not installed.    
            </PluginNotInstalledTemplate>    
        </asp:MediaPlayer>
        <p></p>
        <asp:Label ID="Label1" runat="server" Text="Video:"></asp:Label>
        <br />
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
            onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem Value="../media/video1.wmv">video1</asp:ListItem>
            <asp:ListItem Value="../media/video2.wmv">video2</asp:ListItem>
            <asp:ListItem Value="../media/video3.wmv">video3</asp:ListItem>
        </asp:DropDownList>
        <p></p>
        <asp:Label ID="Label2" runat="server" Text="Media Skin:"></asp:Label>
        <br />
        <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" 
            onselectedindexchanged="DropDownList2_SelectedIndexChanged">
            <asp:ListItem Value="../skins/Professional.xaml">Professional</asp:ListItem>
            <asp:ListItem Value="../skins/Classic.xaml">Classic</asp:ListItem>
            <asp:ListItem Value="../skins/Expression.xaml">Expression</asp:ListItem>
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Register assembly="System.Web.Silverlight" namespace="System.Web.UI.SilverlightControls" tagprefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        MediaPlayer1.MediaSource = DropDownList1.SelectedValue.ToString()
    End Sub
    Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        MediaPlayer1.MediaSkinSource = DropDownList2.SelectedValue.ToString()
    End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>MediaPlayer</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:MediaPlayer 
            ID="MediaPlayer1" 
            runat="server" 
            MediaSource="../media/video1.wmv"
            MediaSkinSource="../skins/Professional.xaml"
            PlaceholderSource="../media/image0.jpg"
            ScaleMode="Stretch"
            AutoLoad="false"
            AutoPlay="false"
            PluginBackground="Black"
            Height="240px" 
            Width="320px">
            <PluginNotInstalledTemplate>
                Silverlight is not installed.    
            </PluginNotInstalledTemplate>    
        </asp:MediaPlayer>
        <p></p>
        <asp:Label ID="Label1" runat="server" Text="Video:"></asp:Label>
        <br />
        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
            onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem Value="../media/video1.wmv">video1</asp:ListItem>
            <asp:ListItem Value="../media/video2.wmv">video2</asp:ListItem>
            <asp:ListItem Value="../media/video3.wmv">video3</asp:ListItem>
        </asp:DropDownList>
        <p></p>
        <asp:Label ID="Label2" runat="server" Text="Media Skin:"></asp:Label>
        <br />
        <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" 
            onselectedindexchanged="DropDownList2_SelectedIndexChanged">
            <asp:ListItem Value="../skins/Professional.xaml">Professional</asp:ListItem>
            <asp:ListItem Value="../skins/Classic.xaml">Classic</asp:ListItem>
            <asp:ListItem Value="../skins/Expression.xaml">Expression</asp:ListItem>
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>

Nell'esempio seguente viene illustrato come utilizzare la gestione degli errori semplice con il controllo server MediaPlayer. L'attributo OnPluginError e l'attributo OnClientMediaFailed del controllo server MediaPlayer possono essere utilizzati per elaborare eventi di errore client utilizzando funzioni JavaScript.

<%@ Page Language="C#" %>
<%@ Register assembly="System.Web.Silverlight" namespace="System.Web.UI.SilverlightControls" tagprefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>MediaPlayer</title>
    <script type="text/javascript"> 
    function OnPluginErrorHandler(sender, errorArgs)
    {
        var errorMsg = "Silverlight Plugin Error: \n\n";
        GeneralErrorHandler(sender,errorArgs,errorMsg);
    }
    function OnMediaFailedHandler(sender, errorArgs)
    {
        var errorMsg = "Silverlight Media Error: \n\n";
        GeneralErrorHandler(sender,errorArgs,errorMsg);
    }
    function GeneralErrorHandler(sender, errorArgs, errorMsg)
    {
        // Error information common to all errors.
        errorMsg += "Error Type:    " + errorArgs.get_error().errorType + "\n";
        errorMsg += "Error Message: " + errorArgs.get_error().errorMessage + "\n";
        errorMsg += "Error Code:    " + errorArgs.get_error().errorCode + "\n";

        // Display the error message.
        alert(errorMsg);
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:MediaPlayer 
            ID="MediaPlayer1" 
            runat="server" 
            MediaSource="~/Media/expressionstudio.wmv"
            MediaSkinSource="~/skins/Professional.xaml"
            PlaceholderSource="~/media/image0.jpg"
            ScaleMode="Stretch"
            AutoLoad="true"
            AutoPlay="true"
            PluginBackground="Black"
            Height="240px" 
            Width="320px"
            OnPluginError="OnPluginErrorHandler"
            OnClientMediaFailed="OnMediaFailedHandler">
            <PluginNotInstalledTemplate>
                Silverlight is not installed.    
            </PluginNotInstalledTemplate>    
        </asp:MediaPlayer>
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Register assembly="System.Web.Silverlight" namespace="System.Web.UI.SilverlightControls" tagprefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>MediaPlayer</title>
    <script type="text/javascript">   
    function OnPluginErrorHandler(sender, errorArgs)
    {
        var errorMsg = "Silverlight Plugin Error: \n\n";
        GeneralErrorHandler(sender,errorArgs,errorMsg);
    }
    function OnMediaFailedHandler(sender, errorArgs)
    {
        var errorMsg = "Silverlight Media Error: \n\n";
        GeneralErrorHandler(sender,errorArgs,errorMsg);
    }
    function GeneralErrorHandler(sender, errorArgs, errorMsg)
    {
        // Error information common to all errors.
        errorMsg += "Error Type:    " + errorArgs.get_error().errorType + "\n";
        errorMsg += "Error Message: " + errorArgs.get_error().errorMessage + "\n";
        errorMsg += "Error Code:    " + errorArgs.get_error().errorCode + "\n";

        // Display the error message.
        alert(errorMsg);
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:MediaPlayer 
            ID="MediaPlayer1" 
            runat="server" 
            MediaSource="~/Media/expressionstudio.wmv"
            MediaSkinSource="~/skins/Professional.xaml"
            PlaceholderSource="~/media/image0.jpg"
            ScaleMode="Stretch"
            AutoLoad="true"
            AutoPlay="true"
            PluginBackground="Black"
            Height="240px" 
            Width="320px"
            OnPluginError="OnPluginErrorHandler"
            OnClientMediaFailed="OnMediaFailedHandler">
            <PluginNotInstalledTemplate>
                Silverlight is not installed.    
            </PluginNotInstalledTemplate>    
        </asp:MediaPlayer>
    </div>
    </form>
</body>
</html>

Gerarchia di ereditarietà

System.Object
  System.Web.UI.Control
    System.Web.UI.WebControls.WebControl
      System.Web.UI.SilverlightControls.Silverlight
        System.Web.UI.SilverlightControls.MediaPlayer

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Piattaforme

Per informazioni sui sistemi operativi e sui browser supportati da Silverlight, vedere "Sistemi operativi e browser supportati" in Architettura di Silverlight.

Vedere anche

Riferimenti

Membri MediaPlayer

Spazio dei nomi System.Web.UI.SilverlightControls

Altre risorse

Sys.UI.Silverlight.MediaPlayer

Controllo server MediaPlayer ASP.NET