¿Cómo se convierte un Sistema :: IO :: Corriente ^ a un LPCSTR para PlaySound?
Pregunta
Estoy intentando implantar, y luego reproducir un archivo .wav en un C ++ / CLI aplicación, pero todos los ejemplos que he visto, que PlaySound
la utilización aparecen en VB. No puedo ver cómo conseguir Stream^
froma a la cual LPCSTR PlaySound requiere:
System::IO::Stream^ s = Assembly::GetExecutingAssembly()->GetManifestResourceStream ("Ping.wav");
LPCSTR buf = s->????;
PlaySound(buf, NULL, SND_ASYNC|SND_MEMORY|SND_NOWAIT);
supongo que necesito algún tipo de magia terrible conversión de memoria .net.
Solución
Uso de la clase System :: Medios :: SoundPlayer lugar. Tiene una propiedad Stream, asignar su variable "s" a ella, a continuación, llame al método de reproducción ().
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow