C# запись звука со звуковой карты
Я хочу записать звук с моей звуковой карты (выходной). Я нашел CSCore на codeplex, но я не смог найти никаких примеров. Кто-нибудь знает, как использовать библиотеку для записи звука с моей звуковой карты и записи данных записи на жесткий диск? Или кто-нибудь знает несколько учебных пособий по этой библиотеке?
1 ответ
Решение
Взгляните на пространство имен CSCore.SoundIn. Класс WasapiLoopbackCapture может записывать напрямую с любого устройства вывода. Но имейте в виду, что WasapiLoopbackCapture доступен только с Windows Vista.
РЕДАКТИРОВАТЬ: Этот код должен работать для вас.
using CSCore;
using CSCore.SoundIn;
using CSCore.Codecs.WAV;
...
using (WasapiCapture capture = new WasapiLoopbackCapture())
{
//if nessesary, you can choose a device here
//to do so, simply set the device property of the capture to any MMDevice
//to choose a device, take a look at the sample here: http://cscore.codeplex.com/
//initialize the selected device for recording
capture.Initialize();
//create a wavewriter to write the data to
using (WaveWriter w = new WaveWriter("dump.wav", capture.WaveFormat))
{
//setup an eventhandler to receive the recorded data
capture.DataAvailable += (s, e) =>
{
//save the recorded audio
w.Write(e.Data, e.Offset, e.ByteCount);
};
//start recording
capture.Start();
Console.ReadKey();
//stop recording
capture.Stop();
}
}