Windows Forms dotnet. WAV воспроизведения - необходимо предварительно загрузить несколько файлов WAV в память для быстрого воспроизведения - PullRequest
0 голосов
/ 04 ноября 2010

Мне нужно воспроизвести 30-секундные аудиоклипы, 1 в секунду, в winnets dotnet. В настоящее время я загружаю / играю файлы wav из файловой системы, которая отлично работает на ноутбуке, но вызывает проблемы на нетбуке. Могу ли я предварительно загрузить все звуковые файлы в память, если да, то как?

Ответы [ 3 ]

1 голос
/ 04 ноября 2010

Если вы используете SoundPlayer для воспроизведения ваших файлов, вы можете предварительно загрузить файл с помощью SoundPlayer.Load.

SoundPlayer sp = new SoundPlayer("filename");
sp.Load(); // preload
sp.Play();

Edit:
Как отмечено в документации, вы также можете использовать SoundPlayer.LoadAsync для загрузки звука в фоновом режиме.

0 голосов
/ 04 ноября 2010

Вот недавний пример, который создает файл WAV (синус) в памяти полностью с нуля и воспроизводит его.То, что вы пытаетесь сделать, должно быть намного проще, и вы должны иметь возможность извлечь его из опубликованного образца.

Реальное низкоуровневое генерирование звука в C #?

0 голосов
/ 04 ноября 2010

Я склонен сказать, что вы загрузите файл в какой-нибудь поток system.io.memory. Надеемся, что библиотеки, которые воспроизводят ваш файл, примут поток памяти или поток памяти, который может быть преобразован в структуру данных, которую эта библиотека принимает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...