Hi I have Implemented goto function which will play recorded video in specificed time it working fine since Milestone R2 2016 but our customer have upgraded Milstone to 2017 R1 as it support H265 Camera, Howerver when I try to ran my custom plug in goTo function is not working properly similar problem same as in this post
https://developer.milestonesys.com/s/question/0D50O00003GWlfwSAD/playback-is-frozen
but it mention problem solved in 2017 R1 Version, But it still not working Here is my code (didn’t change anything since it working fine in R2 2016)
private void SelectCam(Item _selectedItem)
{
if (_playbackFQID == null)
_playbackFQID = ClientControl.Instance.GeneratePlaybackController();
//Control Camera 1
_imageViewerControl = ClientControl.Instance.GenerateImageViewerControl();
_imageViewerControl.PlaybackControllerFQID = _playbackFQID;
_imageViewerControl.Dock = DockStyle.Fill;
ViewCam.Controls.Clear();
ViewCam.Controls.Add(_imageViewerControl);
_imageViewerControl.CameraFQID = _selectedItem.FQID;
_imageViewerControl.EnableMouseControlledPtz = true;
_imageViewerControl.EnableMousePtzEmbeddedHandler = true;
_imageViewerControl.EnableDigitalZoom = true;
_imageViewerControl.EnableScrollWheel = true;
_imageViewerControl.MaintainImageAspectRatio = true;
_imageViewerControl.SetVideoQuality(0, 1);
_imageViewerControl.Initialize();
_imageViewerControl.Connect();
_imageViewerControl.Selected = true;
_audioPlayerControl1 = ClientControl.Instance.GenerateAudioPlayerControl();
Controls.Add(_audioPlayerControl1);
_related1Microphone = null;
List<Item> related = _selectedItem.GetRelated();
if (related != null)
{
foreach (Item item in related)
{
if (item.FQID.Kind == Kind.Microphone)
{
_related1Microphone = item;
_audioPlayerControl1.MicrophoneFQID = _related1Microphone.FQID;
_audioPlayerControl1.Initialize();
// _audioPlayerControl1.Connect();
//_audioPlayerControl1.StartLive();
}
}
}
EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(MessageId.System.ModeChangeCommand, Mode.ClientLive), _playbackFQID);
//EnvironmentManager.Instance.Mode = Mode.ClientLive;
//Control Camera 2
// Settings.Default["ScameraFQID"] = _selectedItem.FQID.ToXmlNode().OuterXml;
// Settings.Default.Save();
}
This is GoTo Function
private void Reverse(DateTime reverseDate)
{
EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(MessageId.System.ModeChangeCommand, Mode.ClientPlayback), _playbackFQID);
EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(
MessageId.SmartClient.PlaybackCommand,
new PlaybackCommandData() { Command = PlaybackData.PlayStop }), _playbackFQID);
DateTime dt = DateTime.Now;
DateTime ut = DateTime.SpecifyKind(dt, DateTimeKind.Utc);
EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(
MessageId.SmartClient.PlaybackCommand,
new PlaybackCommandData()
{
Command = PlaybackData.Goto,
DateTime = reverseDate
}), _playbackFQID);
EnvironmentManager.Instance.SendMessage(new VideoOS.Platform.Messaging.Message(
MessageId.SmartClient.PlaybackCommand,
new PlaybackCommandData() { Command = PlaybackData.PlayForward, Speed = 1.0 }), _playbackFQID);
}
Thank you