Título: Escuchar música desde que ejecute la consola y dentro de un array tipo Byte. Publicado por: Meta en 25 Febrero 2019, 23:21 pm Hola:
Código que creo que se puede hacer es algo así. Código
Me da este error. Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido Error CS0234 El tipo o el nombre del espacio de nombres 'Media' no existe en el espacio de nombres 'System.Windows' (¿falta alguna referencia de ensamblado?) Musica_consola_01_cs C:\Users\Usuario\Documents\Visual Studio 2017\Projects\Musica_consola_01_cs\Musica_consola_01_cs\Program.cs 545 Activo No encuentro en referencia el Media. ¿Alguna idea? Saludos. Título: Re: Escuchar música desde que ejecute la consola y dentro de un array tipo Byte. Publicado por: Eleкtro en 26 Febrero 2019, 00:30 am No encuentro en referencia el Media. Me resulta inverosimil que a estas alturas despues de años programando en C# necesites ayuda para resolver este tipo de duda tan básica...
(https://i.imgur.com/u6KYdHD.png) También deberías añadir una referencia al ensamblado WindowsBase.dll y System.Windows.dll para así poder acceder al instrumental básico de la librería de clases de WPF. Código
¿Esos bytes se supone que son los bytes raw de un archivo de sonido, o que cosa sinó?. En cualqueir caso, la clase System.Windows.Media.MediaPlayer no te va a servir para eso, ya que no acepta un array de bytes o stream, así que primero debes volcar los bytes a un archivo local, y entonces especificar la ruta de dicho archivo en la propiedad MediaPlayer.Source. Ahora no me vayas a decir que no sabes como crear un archivo con esos bytes, deberías saberlo ya, pero bueno, por si acaso: File.WriteAllBytes(String, Byte[]) - Microsoft Docs (https://docs.microsoft.com/en-us/dotnet/api/system.io.file.writeallbytes?view=netframework-4.7.2) o también: FileStream Class (System.IO) | Microsoft Docs (https://docs.microsoft.com/en-us/dotnet/api/system.io.filestream?view=netframework-4.7.2). Como alternativa puedes usar la clase System.Media.SoundPlayer, la cual provee una propiedad SoundPlayer.Stream que te permitirá asignar un objeto de tipo MemoryStream (donde puedes escribir ese array de bytes que tienes), es decir sin necesidad de volcar esos bytes a un archivo local, pero esta clase está limitada a reproducir archivos de sonido WAV (no MP3 ni ningún otro formato). EDITO: Acabo de recordar que con la API nativa de MCI (Media Control Interface) también puedes repoducir archivos de audio MP3 (y WAV y MIDI)...
Ahí tienes |