Запись звука определенного приложения
Мне было интересно, есть ли способ записать звук определенного приложения? Я искал некоторое время, но не нашел полезной информации об этом. Так что теперь я использую библиотеку NAudio для записи петли WASAPI и звука с микрофона, смешиваю их вместе и сохраняю в mp3-файл, используя этот код:
Silence = new WaveOut();
Silence.Init(new SignalGenerator() { Gain = 0 });
Silence.Play();
SoundOut = new WasapiLoopbackCapture();
SoundOut.DataAvailable += SoundOut_DataAvailable;
SoundOut.StartRecording();
SoundOutBuffer = new BufferedWaveProvider(SoundOut.WaveFormat);
SoundIn = new WaveIn();
SoundIn.WaveFormat = SoundOut.WaveFormat;
SoundIn.DataAvailable += SoundIn_DataAvailable;
SoundIn.StartRecording();
SoundInBuffer = new BufferedWaveProvider(SoundIn.WaveFormat);
List<ISampleProvider> Sources = new List<ISampleProvider>
{
SoundOutBuffer.ToSampleProvider(),
SoundInBuffer.ToSampleProvider()
};
Mixer = new MixingSampleProvider(Sources);
Sampler = new SampleToWaveProvider16(Mixer);
MP3Writer = new LameMP3FileWriter("File.mp3", Mixer.WaveFormat, 128);
Также я обнаружил библиотеку CSCore, которая выглядит как NAudio с некоторыми дополнительными функциями, но полным отсутствием документации. Может быть, у CSCore есть функциональность, которая мне нужна?