Воспроизведение одновременно звука в C #
Вопрос
Я хочу, чтобы в приложении 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();
Поиграйте немного, есть больше, если вам это нужно.
Вы пытались воспроизвести каждый из них в отдельном потоке?