Многие звуки генерируются в режиме реального времени, поэтому я не могу воспроизводить их одновременно с System.Media.SoundPlayer
из нового потока / пространства выполнения. Единственный способ преодолеть это ограничение - запускать мои 100 блоков сценариев как новые процессы:
Start-Process powershell.exe "-NoExit -Command $Synth001"
...
Start-Process powershell.exe "-NoExit -Command $Synth100"
Это ужасный обходной путь для запуска 100 процессов powershell, потому что я хочу использовать SoundPlayer
. Из-за большой задержки воспроизведение сгенерированных wav
файлов из хранилища с Mediaplayer
не вариант!
Вариант 1. Как создать файл с отображением в памяти и воспроизвести его с System.Windows.Media.Mediaplayer
?
Вариант 2: Как создать полностью изолированное, не поточно-безопасное пространство выполнения из одного и того же экземпляра PS, чтобы новые классы SoundPlayer
не взаимодействовали друг с другом?
C# примеры могут быть полезны.