Получение информации с DV-камеры с помощью Expression Encoder 4 SDK - PullRequest
2 голосов
/ 21 октября 2010

Я разрабатываю приложение для Windows Forms в .NET Framework 4.0, которое управляет DV-CAM с использованием Expression Encoder 4 SDK. Раньше для этого я использовал Windows Media Encoder, но я бы хотел перейти на Expression Encoder, потому что он кажется намного более надежным.

В целом, SDK работает отлично, я могу контролировать и просматривать видео DV-CAM, используя LiveDeviceSource и LiveJob. Но кажется, что некоторые функции отсутствуют (или я просто не могу их найти). Я использую следующий код для настройки соединения с DV-CAM:


HandleRef handleRef = new HandleRef(videoPanel, videoPanel.Handle);
_preview = new PreviewWindow(handleRef);
_job = new LiveJob();

Collection devices = EncoderDevices.FindDevices(EncoderDeviceType.Video);
if (devices.Count > 0)
  _device = devices[0];

if (_device != null)
{
  _source = _job.AddDeviceSource(_device, _device); // init a LiveDeviceSource
  _source.PreviewWindow = _preview;
  _job.ActivateSource(_source);
}

Это все отлично работает. Но я не могу найти текущую частоту кадров и текущее состояние DV-CAM. Я могу получить общую частоту кадров, используя:

_source.SourcePropertiesSnapshot().TotalFrames;

Но это будет увеличиваться, даже если DV-CAM приостановлен. Итак, у меня есть следующие вопросы:

  • Как узнать текущую позицию кадра DV-CAM?

  • Как получить текущий статус (воспроизведение / пауза / конец ленты и т. Д.) DV-CAM?

Спасибо!

...