Архив

Публикации с меткой ‘Silverlight 4’

Работа с веб камерой и микрофоном в Silverlight 4

Введение

То, что многие Сильверлайт разработчики давно ждали, произошло. Четвёртый Сильверлайт позволяет получить доступ к веб камере и микрофону. И пусть это не является революцией, в отличие от многих других новых возможностей (конкурирующие технологии поддерживали камеру и микрофон уже давно), но мощь, простота и удобство нового API заслуживают того, чтобы на эту часть функциональности четвёртого Сильверлайта Вы обратили самое пристальное внимание.

Работа с веб камерой и микрофоном

Итак, веб камера и микрофон на компьютере пользователя могут быть, а могут и отсутствовать. Также бывают ситуации, когда есть несколько источников видео и звука. Для того, чтобы определить с какми устройствами мы будем работать, а также в случае необходимости запросить у пользователя доступ к этим устройствам (Сильверлайт не позволяет без явного на то разрешения пользователя получить доступ к веб камере или микрофону), сществует статический класс CaptureDeviceConfiguration. Давайте посмотрим как с этим классом работать. Но предварительно создадим новый проект Сильверлайт приложения в Visual Studio 2010 и добавим на страницу MainPage.xaml некоторую XAML разметку:

<StackPanel Orientation="Vertical" VerticalAlignment="Center"
      HorizontalAlignment="Center">
  <Rectangle Width="320" Height="240" x:Name="videoRect"/>
  <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
    <ListBox x:Name="VideoSources">
      <ListBox.ItemTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding FriendlyName}"/>
        </DataTemplate>
      </ListBox.ItemTemplate>
    </ListBox>
    <ListBox x:Name="AudioSources">
      <ListBox.ItemTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding FriendlyName}"/>
        </DataTemplate>
      </ListBox.ItemTemplate>
    </ListBox>
  </StackPanel>
  <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
    <Button Margin="5" Content="Начать захват" x:Name="startCapture"/>
    <Button Margin="5" Content="Остановить захват" x:Name="endCapture"/>
  </StackPanel>
</StackPanel>

* This source code was highlighted with Source Code Highlighter.

Читать далее…