Игра в WAV с Directsound - PullRequest
       33

Игра в WAV с Directsound

0 голосов
/ 14 января 2012

Мне нужно воспроизвести несколько волновых файлов, которые запускаются в разное время (не все вместе). Я пытался воспроизвести файлы, используя Directsound, но возникла проблема. У меня есть следующий код:

var dev = new Device();      //This line creates the problem
dev.SetCooperativeLevel(this, CooperativeLevel.Normal);
MemoryStream ms = new MemoryStream(Sample1);
soundBuffer = new Microsoft.DirectX.DirectSound.Buffer(ms, dev);
SecondaryBuffer sound = new SecondaryBuffer(ms,dev);
sound.Play();

Проблема в том, что когда я набираю в первой строке (var dev = new Device ();) и компилирую программу, возникает ошибка (ConsoleApplication1 столкнулся с проблемой и должен быть закрыт). Это происходит даже тогда, когда я удаляю весь код, кроме первой строки. Ошибка консоли выглядит следующим образом: «Сборка смешанного режима построена на версии v1.1.4322 среды выполнения и не может быть загружена во время выполнения 4.0 без дополнительной информации о конфигурации».

Если эта проблема не устранена, есть ли другой способ воспроизвести несколько звуков. Звук должен иметь минимальную задержку и воспроизводиться мгновенно без каких-либо задержек.

1 Ответ

0 голосов
/ 14 января 2012

Вам необходимо отредактировать конфигурацию приложения, включив в нее:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

Что должно позволить вам использовать старые библиотеки .NET.

...