Windows Forms dotnet . WAV воспроизведения - необходимо предварительно загрузить несколько файлов WAV в память для быстрого воспроизведения
Мне нужно воспроизвести 30-секундные аудиоклипы, по 1 в секунду, в winnets dotnet. В настоящее время я загружаю / играю файлы wav из файловой системы, которая отлично работает на ноутбуке, но вызывает проблемы на нетбуке. Могу ли я предварительно загрузить все звуковые файлы в память, если да, то как?
3 ответа
Если вы используете SoundPlayer для воспроизведения ваших файлов, вы можете предварительно загрузить файл с SoundPlayer.Load
,
SoundPlayer sp = new SoundPlayer("filename");
sp.Load(); // preload
sp.Play();
Редактировать:
Как отмечено в документации, вы также можете использовать SoundPlayer.LoadAsync
загрузить звук в фоновом режиме.
Я склонен сказать, что вы загрузите файл в какой-нибудь поток system.io.memory. Надеемся, что библиотеки, которые воспроизводят ваш файл, будут занимать поток памяти или поток памяти, который может быть преобразован в структуру данных, которую принимает эта библиотека.
Вот недавний пример, который создает файл WAV (синус) в памяти полностью с нуля и воспроизводит его. То, что вы пытаетесь сделать, должно быть намного проще, и вы должны быть в состоянии вывести его из опубликованного примера.