Я отфильтровал все аудиопотоки из моих программ с помощью CSCore lib. Он отлично работает, но я понятия не имею, какой поток принадлежит какому процессу. Есть ли способ получить имя процесса processId для каждого потока?
мой код:
public class Audio
{
public static void start(ListBox device, ListBox process)
{
using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
using (var sessionEnumerator = sessionManager.GetSessionEnumerator())
{
foreach (var session in sessionEnumerator)
{
using (var audioMeterInformation = session.QueryInterface<AudioMeterInformation>())
{
device.Items.Add(audioMeterInformation.GetPeakValue());
process.Items.Add("here I need the processname or ID");
}
}
}
}
}
private static AudioSessionManager2 GetDefaultAudioSessionManager2(DataFlow dataFlow)
{
using (var enumerator = new MMDeviceEnumerator())
{
using (var device = enumerator.GetDefaultAudioEndpoint(dataFlow, Role.Multimedia))
{
var sessionManager = AudioSessionManager2.FromMMDevice(device);
return sessionManager;
}
}
}
}
большое спасибо!