Слушать много звуковых файлов одновременно - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь воспроизвести музыкальный файл, и во время этого я хочу воспроизвести некоторые звуковые эффекты для моей консольной игры.

SoundPlayer player = new SoundPlayer();
public static void StartBattelMusic()
        {
            player.SoundLocation = "D:....BattelMusic.wav";
            player.Play();
        }


        public static void SwordHitSound()
        {
            player.SoundLocation = "D:....SwordHitSound.wav";
            player.Play();
        }

Оба работают, но когда я запускаю файл SwordSound, музыка Battel останавливается. Спасибо вам уже за помощь:)

Ответы [ 2 ]

2 голосов
/ 06 ноября 2019

Вы можете попробовать следующий код для одновременного воспроизведения двух звуковых файлов в консольном приложении.

   class Program
    {

        static void Main(string[] args)
        {
            string path1 = "D:\\test.mp3";
            string path2 = "D:\\1.mp4";
            play(path1);
            play(path2);
            Console.ReadKey();
        }
        static  void play(string audioPath)
        {
            MediaPlayer myPlayer = new MediaPlayer();
            myPlayer.Open(new System.Uri(audioPath));
            myPlayer.Play();
        }
    }

Добавить ссылку: enter image description here

0 голосов
/ 05 ноября 2019

попробуйте создать внутри метода игрока, разные объекты, отдельные, для каждого звука. если разные экземпляры SoundPlayer (для каждого звука) не решают проблему, попробуйте заменить ее на MediaPlayer (https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.mediaplayer?view=netframework-4.8)

...