Как связать систему :: IO :: Stream ^ к LPCSTR для Playsound?

StackOverflow https://stackoverflow.com/questions/3045269

  •  27-09-2019
  •  | 
  •  

Вопрос

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

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

LPCSTR buf = s->????;

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

Я думаю, мне нужен какой-то ужасный .NET Private Privation Magic Magic.

Это было полезно?

Решение

Используйте систему :: Media :: класс SoundPlayer вместо этого. Он имеет свойство потока, назначить вашу переменную «S», затем позвоните в метод PLAY ().

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top