Formato de byte de sonido XML
Frecuentes
Visto 110 equipos
0
Tengo un archivo .wav y escribo este formulario de bytes en XML. Quiero reproducir esta canción en mi formulario, pero no estoy seguro de estar en lo correcto y no funciona. Str es el formato de bytes de mi archivo.
byte[] soundBytes = Convert.FromBase64String(str);
MemoryStream ms = new MemoryStream(soundBytes, 0, soundBytes.Length);
ms.Write(soundBytes, 0, soundBytes.Length);
SoundPlayer ses = new SoundPlayer(ms);
ses.Play();
1 Respuestas
1
Creo que el problema es que estás inicializando tu MemoryStream
con un búfer, y luego escribir ese mismo búfer en la secuencia. Por lo tanto, la transmisión comienza con un búfer de datos determinado y luego lo sobrescribe con un búfer idéntico, pero en el proceso también cambia la posición actual dentro de la transmisión hasta el final.
byte[] soundBytes = Convert.FromBase64String(str);
MemoryStream ms = new MemoryStream(soundBytes, 0, soundBytes.Length);
// ms.Position is 0, the beginning of the stream
ms.Write(soundBytes, 0, soundBytes.Length);
// ms.Position is soundBytes.Length, the end of the stream
SoundPlayer ses = new SoundPlayer(ms);
// ses tries to play from a stream with no more bytes to consume
ses.Play();
Eliminar la llamada a ms.Write()
y mira si funciona
Respondido 01 ago 12, 03:08
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# xml audio soundplayer or haz tu propia pregunta.