visual studio sonido reproducir poner musica como boton c# .net wpf media-player

c# - studio - Cómo reproducir un recurso de archivo de sonido WPF



poner sonido a un boton en c# (2)

Intenté esto con un archivo de imagen, que funciona igual que un archivo de sonido en lo que concierne al uri porque es solo otro recurso. Usé el siguiente código que esencialmente coincide con lo que tienes.

new Uri(@"pack://application:,,,/Resources/logo.png")

Asegúrese de que su carpeta ''Media'' no esté anidada en ninguna otra carpeta. Si es así, debes incluir esa carpeta también.

Utilizando .NET Framework 4.0, VS2012.

Este enlace proporciona una descripción bastante buena de todo el esquema de "paquete" de cosas.

EDITAR

Más investigación sobre este tema parece indicar que lo que quiere hacer podría no ser posible con archivos de audio o video. El extracto a continuación se toma de la sección de comentarios de esta página de MSDN .

Aunque puede declarar una instancia de esta clase en el lenguaje de marcado de aplicación extensible (XAML), no puede cargar y reproducir sus medios sin usar código. Para reproducir medios solo en XAML, use un elemento MediaElement. Además, si declara una instancia en XAML, el único uso práctico es rellenar la sintaxis del elemento de propiedad para la propiedad Player.

Al distribuir medios con su aplicación, no puede usar un archivo multimedia como recurso de proyecto. En su archivo de proyecto, debe establecer el tipo de medio en Contenido y configurar CopyToOutputDirectory en PreserveNewest o Always.

MediaPlayer se puede utilizar en dos modos diferentes, dependiendo de lo que esté impulsando el reproductor: modo independiente o modo de reloj. En modo independiente, el MediaPlayer es análogo a una imagen y el medio abierto a través del método Open impulsa la reproducción. En el modo Reloj, se puede pensar en el MediaPlayer como un objetivo para una animación y, por lo tanto, tendrá las correspondientes entradas de Línea de tiempo y Reloj en el árbol de Tiempo que controla la reproducción. Para obtener más información sobre los modos multimedia, consulte la Descripción general de multimedia.

MediaPlayer es diferente de un MediaElement en que no es un control que se puede agregar directamente a la interfaz de usuario (UI) de una aplicación. Para mostrar los medios cargados usando MediaPlayer, se debe usar VideoDrawing o DrawingContext.

Estoy intentando reproducir un archivo de sonido en mi aplicación WPF. Actualmente tengo la siguiente convocatoria:

private void PlaySound(string uriPath) { Uri uri = new Uri(@"pack://application:,,,/Media/movepoint.wav"); var player = new MediaPlayer(); player.Open(uri); player.Play(); }

Ahora bien, si especifico Media/movepoint.wav como Content acción de compilación Media/movepoint.wav como una ruta de archivo relativa o absoluta, funcionará bien, así que sospecho que esto tiene algo que ver con el Pack URI del Pack URI , pero no puedo por la vida de mí averiguar qué.

El objetivo es almacenar el archivo como un recurso para que no esté disponible en el directorio de salida. Puedo proporcionar la copia WAV o la copia MP3.


Lo siguiente parece funcionar en .NET Framework 4.5:

var sri = Application.GetResourceStream(new Uri("pack://application:,,,/MyAssemblyName;component/Resources/CameraShutter.wav")); if ((sri != null)) { using (s == sri.Stream) { System.Media.SoundPlayer player = new System.Media.SoundPlayer(s); player.Load(); player.Play(); } }

CameraShutter.wav está incrustado como Recurso en mi proyecto (y reside dentro de la subcarpeta de Recursos, como se indica en el paquete URI).