Как преобразовать System :: IO :: Stream ^ в LPCSTR для PlaySound? - PullRequest
0 голосов
/ 15 июня 2010

Я пытаюсь встроить, а затем воспроизвести файл .wav в приложении C ++ / CLI, но все примеры, которые я видел, использующие PlaySound, находятся в VB.Я не могу понять, как получить Froma Stream^ на LPCSTR, который требуется PlaySound:

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

LPCSTR buf = s->????;

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

Полагаю, мне нужна какая-то ужасная магия преобразования .net памяти.

1 Ответ

1 голос
/ 15 июня 2010

Вместо этого используйте класс System :: Media :: SoundPlayer.У него есть свойство Stream, присвойте ему свою переменную "s", затем вызовите метод Play ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...