如何将System :: IO :: Stream ^转换为PlaySound的LPCSTR?

时间:2010-06-15 12:53:03

标签: c++-cli stream playsound

我正在尝试嵌入然后在C ++ / CLI应用程序中播放.wav文件,但我见过的所有使用PlaySound的示例都在VB中。我无法看到如何将Stream^发送到PlaySound要求的LPCSTR:

System::IO::Stream^ s = Assembly::GetExecutingAssembly()->GetManifestResourceStream ("Ping.wav");

LPCSTR buf = s->????;

PlaySound(buf, NULL, SND_ASYNC|SND_MEMORY|SND_NOWAIT);

我想我需要某种可怕的.net内存转换魔法。

1 个答案:

答案 0 :(得分:1)

请改用System :: Media :: SoundPlayer类。它有一个Stream属性,为它分配你的“s”变量,然后调用Play()方法。