Silverlight 4.0 在Silverlight 4中访问麦克风时,防止网络摄像头灯亮起

Silverlight 4.0 在Silverlight 4中访问麦克风时,防止网络摄像头灯亮起,silverlight-4.0,webcam,microphone,Silverlight 4.0,Webcam,Microphone,我正在用Silverlight 4编写一个小的录音机组件。它工作正常,但我注意到当我录制音频时,网络摄像头上的灯亮起,表示摄像头处于活动状态 虽然我知道我没有对网络摄像头做任何阴险的事情,但我的用户完全有权怀疑。是否可以告诉Silverlight我只对麦克风访问感兴趣,而不激活网络摄像头 FWIW以下是我访问麦克风的方式: private CaptureSource _source = new CaptureSource(); private MemoryAudioSink _sink; //

我正在用Silverlight 4编写一个小的录音机组件。它工作正常,但我注意到当我录制音频时,网络摄像头上的灯亮起,表示摄像头处于活动状态

虽然知道我没有对网络摄像头做任何阴险的事情,但我的用户完全有权怀疑。是否可以告诉Silverlight我只对麦克风访问感兴趣,而不激活网络摄像头

FWIW以下是我访问麦克风的方式:

private CaptureSource _source = new CaptureSource();
private MemoryAudioSink _sink;  // Inherits from AudioSink. Doesn't do much more 
                                // than store PCM audio stream in memory

private void Record_Click(object sender, RoutedEventArgs e)
{
    if (( CaptureDeviceConfiguration.AllowedDeviceAccess || 
          CaptureDeviceConfiguration.RequestDeviceAccess() ) && 
        _source.State == CaptureState.Stopped)
    {
        _sink = new MemoryAudioSink();
        _sink.CaptureSource = _source;
        _source.Start();
    }
}

这取决于网络摄像头驱动程序-Silverlight无法控制这一点。

我猜这与您使用的
CaptureSource
有关。微软的目标是:

Silverlight 4 API仅用于 视频场景中的CaptureSource 音频可能不相关的地方


有没有一种方法可以在不创建自己的CaptureSource的情况下获取音频?

CaptureSource会经常抓取默认的视频输入设备,即使您没有告诉它。虽然您没有使用照相机,但Silverlight确实正在访问它。希望微软能在以后的Silverlight版本中修复这种奇怪的行为

同时,只需将VideoCaptureDevice显式设置为null:

var _audioCaptureSource = new CaptureSource {VideoCaptureDevice = null};

当我用录音机录制音频时,指示灯不亮。因此,我担心Silverlight会过于简单化。您确定您是从录音机中的网络摄像头录制的吗?我不是试图从网络摄像头录制音频,而是尝试从默认的声音设备录制音频。我的网络摄像头是集成的,没有麦克风。我离这个项目很远,所以我无法验证这是正确的。如果有机会,我会试试看。谢谢你的回复!