我需要做的是使音频流在扬声器上播放,而无需任何其他硬件。
如果有扬声器输出(例如人声),那么我需要显示一些图像。那么,如何确定扬声器是否发出声音?
我想在Windows 7上为此使用C#。
谢谢。
最佳答案
您可以使用WASAPI环回捕获来执行此操作。我的开源NAudio库包括一个名为WasapiLoopbackCapture
的包装。 WASAPI Loopback Capture的一个怪癖是,当系统处于静默状态时,您不会收到任何回调,尽管这对您可能并不重要
如果您实际上不需要检查样本的值,则WASAPI还允许您监视设备的音量级别。在NAudio中,您可以使用AudioMeterInformation
上的AudioEndpointVolume
或MMDevice
来访问它(可以使用MMDeviceEnumerator.GetDefaultAudioEndpoint
进行渲染)