2

我正在.NET Framework 4.0 中开发一个 Windows 窗体应用程序,它使用 Expression Encoder 4 SDK 控制 DV-CAM。过去我为此使用 Windows Media Encoder,但我想升级到 Expression Encoder,因为它看起来更可靠。

总的来说,SDK 运行良好,我可以使用 LiveDeviceSource 和 LiveJob 控制和查看 DV-CAM 视频。但似乎缺少一些功能(或者我找不到它们)。我使用以下代码设置与 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 的当前状态(播放/暂停/磁带结束等)?

谢谢!

4

0 回答 0