visual valido sólo studio soundplayer sonido reproducir reproducción poner onda musica insertar con compatible como boton archivos archivo c# audio mp3

c# - valido - reproducir musica en c



Cómo reproducir un archivo de sonido (5)

Hay un control de reproductor multimedia, básicamente lo que Media Player usa. Puedes poner eso en tu programa y hay una API que puedes usar para controlarlo. Creo que es la mejor solución rápida.

Con C #, ¿cómo reproduzco (Pausa, Adelante ...) un archivo de sonido (mp3, ogg)? El archivo podría estar en el disco duro o en Internet.

¿Hay alguna biblioteca o clase por ahí que pueda facilitarme el trabajo?


Yo recomendaría la Biblioteca BASS . Puede reproducir archivos de música basados ​​en archivos y contenido de transmisión. También hay un contenedor .NET disponible.



Si no le importa incluir Microsoft.VisualBasic.dll en su proyecto, puede hacerlo de esta manera:

var audio = new Microsoft.VisualBasic.Devices.Audio(); audio.Play("some file path");

Si quieres hacer cosas más complejas, la forma más fácil que conozco es usar la API de Windows Media Player . Agregas la DLL y luego trabajas con ella. La API es un poco torpe, pero funciona; Lo he usado para hacer mi propio envoltorio de reproductor de música alrededor de Windows Media Player para uso personal. Aquí hay algunos enlaces útiles para que comiences:

Crear un sitio web con ASP .NET 2.0 para navegar por su biblioteca de música

Modelo de objetos de Windows Media

¡Deja que la música suene!

EDITAR:

Desde que escribí esto, he encontrado una manera más fácil, si no te importa incluir clases WPF en tu código. WPF (.NET 3.0 y versiones posteriores ) tiene una clase MediaPlayer que es un contenedor de Windows Media Player. Esto significa que no tiene que escribir su propio contenedor, lo que es bueno ya que, como mencioné anteriormente, la API de WMP es bastante torpe y difícil de usar.


Alvas.Audio tiene la clase RecordPlayer con estas posibilidades:

public static void TestRecordPlayer() { RecordPlayer rp = new RecordPlayer(); rp.PropertyChanged += new PropertyChangedEventHandler(rp_PropertyChanged); rp.Open(new Mp3Reader(File.OpenRead("in.mp3"))); rp.Play(); rp.Forward(1000); rp.Pause(); } static void rp_PropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case RecordPlayer.StateProperty: RecordPlayer rp = ((RecordPlayer)sender); if (rp.State == DeviceState.Stopped) { rp.Close(); } break; } }