2 / 2 / 0
Регистрация: 03.08.2010
Сообщений: 16
1

Одновременное проигрывание нескольких звуков

17.03.2011, 17:39. Показов 5169. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ, выручайте, ума не приложу что можно сделать.
Переписываю свою игрушку с flash, там на каждое столкновение объектов вызывается звуковой эффект, всего около десяти различных вариаций звуков.
Звуки должны по идее быть асинхронными и не мешающими друг другу. Одновременно может быть несколько различных столкновений (тоже до десяти)
Поискал по форумам, нашел решение через импорт winmm.dll

C#
1
2
3
[DllImport("winmm.dll", EntryPoint = "sndPlaySound")]
public static extern long PlaySound(byte[] fileName, int flags);
public void play(byte[] mySound, int mode) { PlaySound(mySound, 1 /*mode*/); }//1-Async, 0-Sync
Асинхронно проигрывается, если количество одновременных проигрываний не превышает двух-трех, дальше
звуки тупо глушатся друг другом, и в итоге epic fail

Пробовал выводить звуки через SoundPlayer() с использованием Thread(), но там выводится только один
какой-либо звук, остальные пропускаются.
Может кто сталкивался с подобным? Есть ли другие способы проигрывания звуков, кроме вышеуказанных?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2011, 17:39
Ответы с готовыми решениями:

Одновременное связывание нескольких библиотек
даров всем снов) мине нужно осуществить одновременное подключение и связывание нескольких...

Одновременное перемещение нескольких объектов
Всем очередной привет )) Помогите пожалуйста в небольшой (для кого как :D) проблеме. У меня на...

Воспроизведение нескольких звуков для игры
Как реализовать воспроизведение звуков, при нажатие кнопки, выйгрышной комбинации и т.д. Точнее,...

Проигрывание одновременно нескольких мп3
Собственно как создать плеер который может проигрывать одновременно несколько файлов? У меня есть...

6
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
17.03.2011, 17:52 2
C#
1
2
3
4
5
6
using Microsoft.DirectX.AudioVideoPlayback;
/*******************************/
Microsoft.DirectX.AudioVideoPlayback.Audio audio = new Microsoft.DirectX.AudioVideoPlayback.Audio(@"D:\cashis_-_lac_motion.mp3");
Microsoft.DirectX.AudioVideoPlayback.Audio audio1 = new Microsoft.DirectX.AudioVideoPlayback.Audio(@"D:\cashis_-_ms.jenkins.mp3");
audio.Play();
audio1.Play();
2
2 / 2 / 0
Регистрация: 03.08.2010
Сообщений: 16
17.03.2011, 18:08  [ТС] 3
К сожалению, парсер пишет, что не видит в пространстве имен Microsoft пространство DirectX
доступны только
  • CSharp
  • Internal
  • Runtime
  • SqlServer
  • VisualBasic
  • Win32

Вы как-то отдельно ее подключали?
0
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
17.03.2011, 18:11 4
Нужно подключить сборку сначана.
0
77 / 58 / 8
Регистрация: 10.03.2011
Сообщений: 354
29.11.2011, 22:40 5
а возможно ли сделать так что бы звук воспроизводился по кругу, и без прерывания
0
162 / 158 / 19
Регистрация: 22.11.2011
Сообщений: 371
29.11.2011, 22:51 6
Самое правильное, пожалуй, будет обрабатывать событие Ending и запускать воспроизведение снова.
0
6 / 3 / 1
Регистрация: 13.01.2011
Сообщений: 33
09.12.2011, 09:56 7
По-моему у SoundPlayera для повторного воспроизведения есть метод PlayLooping().
0
09.12.2011, 09:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2011, 09:56
Помогаю со студенческими работами здесь

Одновременное обращение к ApplicationContext в классе Singleton из нескольких потоков
Возникла проблема, в том что _context уже используется. ApplicationContext _context...

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

Одновременное воспроизведение двух звуков
Сделал прогу в которой по нажатию на кнопку звучит музыка. Ну так для создания атмосферы. Потом...

Проигрывание 2 или более звуков одновременно (Потоки)
Не забываем и помним что музыка проигрывается из ресурсов. Имеется 2 потока. static void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru