Esta documentación está archivada y no tiene mantenimiento.

MediaState (Enumeración)

Actualización: noviembre 2007

Especifica los estados que se pueden aplicar a MediaElement para las propiedades LoadedBehavior y UnloadedBehavior.

Espacio de nombres:  System.Windows.Controls
Ensamblado:  PresentationFramework (en PresentationFramework.dll)

public enum MediaState
public enum MediaState
public enum MediaState
object property="enumerationvalue" .../>

Nombre de miembroDescripción
ManualEl estado utilizado para controlar manualmente MediaElement. Se pueden usar métodos interactivos como Play y Pause. Los recursos multimedia se preprocesarán pero no se reproducirán cuando MediaElement tenga asignado un origen de multimedia válido.
PlayEl estado utilizado para reproducir los recursos multimedia. . Los recursos multimedia se preprocesarán automáticamente y se reproducirán cuando MediaElement tenga asignado un origen de multimedia válido.
CloseEl estado utilizado para cerrar los recursos multimedia. Se liberan todos los recursos multimedia (incluso la memoria de vídeo).
PauseEl estado utilizado para pausar los recursos multimedia. Los recursos multimedia se preprocesarán pero permanecen en pausa cuando MediaElement tenga asignado un origen multimedia válido.
StopEl estado utilizado para parar los recursos multimedia. Los recursos multimedia se preprocesarán pero no se reproducirán cuando MediaElement tenga asignado un origen de multimedia válido. No se liberan los recursos multimedia.

En el ejemplo siguiente se muestra cómo controlar la reproducción multimedia mediante un elemento MediaElement. En el ejemplo se crea un reproductor multimedia simple que permite reproducir, pausar, detener y avanzar o retroceder a saltos en el elemento multimedia, así como ajustar el volumen y el porcentaje de velocidad.

En el código siguiente se crea la interfaz de usuario.

ms611601.alert_note(es-es,VS.90).gifNota:

La propiedad LoadedBehavior de MediaElement debe establecerse en Manual para ser que se pueda detener, pausar y reproducir el elemento multimedia de manera interactiva.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="SDKSample.MediaElementExample" >

  <StackPanel Background="Black">

    <!-- To interactively stop, pause, and play the media, the LoadedBehavior 
           property of the MediaElement must be set to "Manual". -->
    <MediaElement Source="media\numbers.wmv" Name="myMediaElement" 
     Width="450" Height="250" LoadedBehavior="Manual" UnloadedBehavior="Stop" Stretch="Fill" 
     MediaOpened="Element_MediaOpened" MediaEnded="Element_MediaEnded"/>

    <StackPanel HorizontalAlignment="Center" Width="450" Orientation="Horizontal">

      <!-- Play button. -->
      <Image Source="images\UI_play.gif" MouseDown="OnMouseDownPlayMedia" Margin="5" />

      <!-- Pause button. -->
      <Image Source="images\UI_pause.gif" MouseDown="OnMouseDownPauseMedia" Margin="5" />

      <!-- Stop button. -->
      <Image Source="images\UI_stop.gif" MouseDown="OnMouseDownStopMedia" Margin="5" />

      <!-- Volume slider. This slider allows a Volume range between 0 and 1. -->
      <TextBlock Foreground="White" VerticalAlignment="Center" Margin="5"  >Volume</TextBlock>
      <Slider Name="volumeSlider" VerticalAlignment="Center" ValueChanged="ChangeMediaVolume" 
       Minimum="0" Maximum="1" Value="0.5" Width="70"/>

      <!-- Volume slider. This slider allows a Volume range between 0 and 10. -->
      <TextBlock Foreground="White" Margin="5"  VerticalAlignment="Center">Speed</TextBlock>
      <Slider Name="speedRatioSlider" VerticalAlignment="Center" ValueChanged="ChangeMediaSpeedRatio" 
       Value="1" Width="70" />

      <!-- Seek to slider. Ths slider allows you to jump to different parts of the media playback. -->
      <TextBlock Foreground="White" Margin="5"  VerticalAlignment="Center">Seek To</TextBlock>
      <Slider Name="timelineSlider" Margin="5" ValueChanged="SeekToMediaPosition" Width="70"/>

    </StackPanel>
  </StackPanel>
</Page>


El código siguiente implementa la funcionalidad de los controles del ejemplo de interfaz de usuario. Los métodos Play, Pause y Stop se utilizan respectivamente para reproducir, pausar y detener el elemento multimedia. Cambiar la propiedad Position de MediaElement permite avanzar o retroceder a saltos en el elemento multimedia. Por último, se utilizan las propiedades Volume y SpeedRatio para ajustar el volumen y la velocidad de reproducción del elemento multimedia.

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Data;
using System.Windows.Media;
using System.Windows.Input;

namespace SDKSample
{

   public partial class MediaElementExample : Page
   {

      // Play the media.
      void OnMouseDownPlayMedia(object sender, MouseButtonEventArgs args)
      {

         // The Play method will begin the media if it is not currently active or 
         // resume media if it is paused. This has no effect if the media is
         // already running.
         myMediaElement.Play();

         // Initialize the MediaElement property values.
         InitializePropertyValues();

      }

      // Pause the media.
      void OnMouseDownPauseMedia(object sender, MouseButtonEventArgs args)
      {

         // The Pause method pauses the media if it is currently running.
         // The Play method can be used to resume.
         myMediaElement.Pause();

      }

      // Stop the media.
      void OnMouseDownStopMedia(object sender, MouseButtonEventArgs args)
      {

         // The Stop method stops and resets the media to be played from
         // the beginning.
         myMediaElement.Stop();

      }

      // Change the volume of the media.
      private void ChangeMediaVolume(object sender, RoutedPropertyChangedEventArgs<double> args)
      {
         myMediaElement.Volume = (double)volumeSlider.Value;
      }

      // Change the speed of the media.
      private void ChangeMediaSpeedRatio(object sender, RoutedPropertyChangedEventArgs<double> args)
      {
         myMediaElement.SpeedRatio = (double)speedRatioSlider.Value;
      }

      // When the media opens, initialize the "Seek To" slider maximum value
      // to the total number of miliseconds in the length of the media clip.
      private void Element_MediaOpened(object sender, EventArgs e)
      {
         timelineSlider.Maximum = myMediaElement.NaturalDuration.TimeSpan.TotalMilliseconds;
      }

      // When the media playback is finished. Stop() the media to seek to media start.
      private void Element_MediaEnded(object sender, EventArgs e)
      {
         myMediaElement.Stop();
      }

      // Jump to different parts of the media (seek to). 
      private void SeekToMediaPosition(object sender, RoutedPropertyChangedEventArgs<double> args)
      {
         int SliderValue = (int)timelineSlider.Value;

         // Overloaded constructor takes the arguments days, hours, minutes, seconds, miniseconds.
         // Create a TimeSpan with miliseconds equal to the slider value.
         TimeSpan ts = new TimeSpan(0, 0, 0, 0, SliderValue);
         myMediaElement.Position = ts;
      }

      void InitializePropertyValues()
      {
         // Set the media's starting Volume and SpeedRatio to the current value of the
         // their respective slider controls.
         myMediaElement.Volume = (double)volumeSlider.Value;
         myMediaElement.SpeedRatio = (double)speedRatioSlider.Value;
      }

   }
}


Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0
Mostrar: