我有一个TTS程序(第三方),我写了一个使用该程序的c#应用程序。 (输入我的应用程序,然后按一个按钮移动鼠标并单击第三方应用程序。)
我需要知道演讲是否结束。有没有关于如何确定是否有声卡播放声音的想法?
答案 0 :(得分:4)
你可以使用CSCore 立即下载 - > https://github.com/filoe/cscore
将这些行粘贴到控制台项目上。
using System;
using CSCore.CoreAudioAPI;
namespace AudioDetector
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(IsAudioPlaying(GetDefaultRenderDevice()));
Console.ReadLine();
}
public static MMDevice GetDefaultRenderDevice()
{
using (var enumerator = new MMDeviceEnumerator())
{
return enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Console);
}
}
public static bool IsAudioPlaying(MMDevice device)
{
using (var meter = AudioMeterInformation.FromDevice(device))
{
return meter.PeakValue > 0;
}
}
}
}
在YouTube,音乐播放器等上播放音乐...
运行程序。
如果当前正在播放音频,它会自动通知(真/假)。
答案 1 :(得分:2)
答案 2 :(得分:1)