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.

È stato utile?

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
scroll top