Предотвратите освещение веб-камеры при доступе к микрофону в Silverlight 4 - PullRequest
0 голосов
/ 31 июля 2010

Я пишу небольшой компонент для записи звука в Silverlight 4. Он работает нормально, но я заметил, что когда я записываю звук, свет на моей веб-камере включается, показывая, что камера активна.

Хотя Я знаю, что я не делаю ничего коварного с веб-камерой, мои пользователи будут иметь полное право быть подозрительным.Можно ли сказать Silverlight, что меня интересует только доступ к микрофону, а не активация веб-камеры?

Вот как я получаю доступ к микрофону:

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();
    }
}

Ответы [ 3 ]

1 голос
/ 23 декабря 2010

CaptureSource будет часто захватывать устройство ввода видео по умолчанию, даже если вы этого не говорите.Хотя вы не используете камеру, Silverlight действительно получает к ней доступ.Надеемся, что MS исправит это странное поведение в более поздней версии Silverlight.

А пока просто явно установите VideoCaptureDevice в null:

var _audioCaptureSource = new CaptureSource {VideoCaptureDevice = null};
0 голосов
/ 31 июля 2010

Я предполагаю, что это связано с вашим использованием CaptureSource. веб-сайт Microsoft утверждает , что:

Только для API Silverlight 4 CaptureSource в видео сценарии где аудио может не иметь отношения.

Есть ли способ получить аудио без создания собственного CaptureSource?

0 голосов
/ 31 июля 2010

Это будет зависеть от драйвера веб-камеры - Silverlight не будет контролировать это.

...