Expression Encoder4SDKを使用してDV-CAMを制御する.NETFramework4.0でWindowsフォームアプリケーションを開発しています。以前はWindowsMediaEncoderを使用していましたが、より堅実に見えるため、ExpressionEncoderにアップグレードしたいと思います。
全体として、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の現在のステータス(再生中/一時停止中/テープの終わりなど)を取得するにはどうすればよいですか?
ありがとう!