Come faccio a convertire uno System :: IO :: Streaming ^ a un LPCSTR per PlaySound?
Domanda
Sto cercando di sovrastante e quindi riprodurre un file wav in C ++ / CLI app, ma tutti gli esempi che ho visto che PlaySound
uso sono in VB. Non riesco a vedere come arrivare froma Stream^
al LPCSTR che PlaySound richiede:
System::IO::Stream^ s = Assembly::GetExecutingAssembly()->GetManifestResourceStream ("Ping.wav");
LPCSTR buf = s->????;
PlaySound(buf, NULL, SND_ASYNC|SND_MEMORY|SND_NOWAIT);
Credo che ho bisogno di qualche sorta di magia di conversione di memoria .net orribile.
Soluzione
Utilizzare la classe System :: Media :: SoundPlayer invece. Ha una proprietà Stream, assegnare il "s" variabile ad esso, quindi chiamare il metodo play ().
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow