Pregunta

Me gustaría cambiar mi canción en MediaElent de track1.mp3 a track2.mp3. Y aquí está el código:

MyMediaElement.Stop();
Uri u = new Uri("track2.mp3", UriKind.Relative);
MyMediaElement.Source=u;
MyMediaElement.Play();

El MediaElement cambiar la fuente, pero simplemente no se iniciará. ¿Qué podría estar mal con este código?

¿Fue útil?

Solución

Trate de establecer MyMediaElement.AutoPlay a verdadero, tan pronto como la fuente cambia y debe jugar. También podría investigar utilizando el método MediaElement.SetSource () que toma un flujo en lugar de un URI.

Otros consejos

Yo tenía el mismo problema. Podría establecer la reproducción automática y la fuente en el XAML y que iba a funcionar, pero si cambio de fuente en el código sería simplemente no hacer nada.
Me capturaron el evento MediaOpened del control.
El problema es que golpea Play () justo después de cambiar la fuente, por lo que el estado actual se cierra. Se tarda unos pocos ciclos de reloj para cambiar el estado. Por lo tanto, si se pone Play (); dentro de ese controlador de eventos que va a funcionar.

No parecen estar haciendo nada malo. Aquí hay un par de diagnóstico me gustaría probar: -

Especificar pista2 que el archivo inicial funciona eso?

Adjuntar al evento MediaFailed, hace que lo despidan?

Enlazar un TextBlock a la propiedad CurrentState observar cómo la CurrentState ha cambiado.

Se establece AutoPlay a false y luego en el controlador MediaOpened haces Play(). Personas tipo de alusión a la solución aquí, pero no es muy exacta. También podría controlar el evento MediaFailed si acaso los medios de comunicación no se abre por alguna razón (no se puede encontrar el archivo, etc).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top