我需要做的是使音频流在扬声器上播放,而无需任何其他硬件。

如果有扬声器输出(例如人声),那么我需要显示一些图像。那么,如何确定扬声器是否发出声音?

我想在Windows 7上为此使用C#。

谢谢。

最佳答案

您可以使用WASAPI环回捕获来执行此操作。我的开源NAudio库包括一个名为WasapiLoopbackCapture的包装。 WASAPI Loopback Capture的一个怪癖是,当系统处于静默状态时,您不会收到任何回调,尽管这对您可能并不重要

如果您实际上不需要检查样本的值,则WASAPI还允许您监视设备的音量级别。在NAudio中,您可以使用AudioMeterInformation上的AudioEndpointVolumeMMDevice来访问它(可以使用MMDeviceEnumerator.GetDefaultAudioEndpoint进行渲染)

08-26 07:55