Воспроизведение одновременно звука в C #

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

  •  08-07-2019
  •  | 
  •  

Вопрос

Я хочу, чтобы в приложении Win (написанном на C #) звук (формат Wav) воспроизводился как фоновый звук, а при наведении мыши на элемент Control воспроизводился небольшой файл звука wav, и когда нажмите на кнопку, остановить фоновый звук и ....
Спасибо за ваше руководство.

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

Решение

вы можете использовать Windows Media Player:

ссылка C: \ Windows \ System32 \ wmp.dll в вашем проекте

чтобы запустить wav-файл:

WMPLib.WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayerClass();
wmp.URL = "[wav file path]";

//then control the player with :

wmp.controls.play(), stop(), ...

для второго wav-файла сделайте то же самое с другим экземпляром WindowsMediaPlayer и т. д.

вы также можете использовать Managed DirectX: Обучающее руководство по DirectX, часть 2

Другие советы

Вы можете попробовать осмотреть пространство имен System.Media. Есть SoundPlayer, который умеет воспроизводить файлы Wave.

Чтобы воспроизвести файл wav в цикле, вы можете использовать следующий код:

string filename = @"C:\WINDOWS\Media\notify.wav";
System.Media.SoundPlayer player = new System.Media.SoundPlayer(filename);
player.PlayLooping();

Чтобы остановить воспроизведение, вы просто вызываете Stop ():

player.Stop();

Поиграйте немного, есть больше, если вам это нужно.

Вы пытались воспроизвести каждый из них в отдельном потоке?

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