Воспроизведение одновременно звука в C # - PullRequest
0 голосов
/ 17 сентября 2009

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

Ответы [ 3 ]

2 голосов
/ 17 сентября 2009

Вы можете попробовать осмотреть пространство имен 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();

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

0 голосов
/ 17 сентября 2009

вы можете использовать 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

0 голосов
/ 17 сентября 2009

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

...