2011-08-06 23 views
5

que estoy tratando de jugar una pista de la colección de canciones de teléfono.Efecto de sonido en Windows Phone 7

¿Las propiedades de efectos de sonido admiten la reproducción desde la colección de canciones?

Anteriormente utilicé el reproductor de medios para reproducir la canción pero quiero configurar la música para que no pause-able.

Código de efecto de sonido: efecto SoundEffect; instancia de SoundEffectInstance;

 effect = SoundEffect.FromStream(ml.Songs[songSelectedIndex]); 
     instance = effect.CreateInstance(); 
     instance.IsLooped = true; 
     instance.Volume = 1.0f; 
     instance.Pitch = 1.0f; 
     instance.Play(); 

Código para la biblioteca multimedia:

 using (var ml = new MediaLibrary()) 

     { 
      FrameworkDispatcher.Update(); 
      MediaPlayer.Play(ml.Songs[songSelectedIndex]); 
      MediaPlayer.IsRepeating = true; 
     } 

Respuesta

1

Un Song es una clase que contiene la corriente de música y sólo se puede reproducir con el reproductor multimedia. La razón de su código no funciona es porque el método FromStream requiere la corriente a ser:

  • Una onda PCM archivo
  • mono o estéreo
  • 8 o 16 bits
  • Entre 8000 Hz y 48.000 Hz de frecuencia de muestreo

no he probado esto, ni sabe cuáles son las pautas de certificación hacen pero puede hacer que la música no se pueda tocar con el MediaPlayer. Maneje el evento MediaStateChanged y verifique si la música está en pausa. Si es así, llama al método Resume para seguir jugando.

Editar - Actualización con código:

controlar el evento MediaStageChanged es el mismo que cualquier otro evento.

MediaPlayer.MediaStateChanged += new EventHandler<EventArgs>(MediaPlayer_MediaStateChanged); 

En el controlador de eventos, haga lo siguiente:

void MediaPlayer_MediaStateChanged(object sender, EventArgs e) 
{ 
    if (MediaPlayer.State == MediaState.Paused) MediaPlayer.Resume(); 
} 
+0

Probé a la investigación sobre cómo utilizar el mediaStateChanged pero casi no lo encuentro una muestra de ello. ¿Tienes un ejemplo? –

+0

@ben tan - Respuesta actualizada – keyboardP