mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Faked precise seeking when vlc is paused - very useful for time line!
git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@967 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
parent
6f56324534
commit
89f6faa8a1
@ -744,18 +744,6 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
if (SubtitleListview1.SelectedItems.Count > 0)
|
||||
index = SubtitleListview1.SelectedItems[0].Index;
|
||||
SetWaveFormPosition(audioVisualizer.StartPositionSeconds, seconds, index);
|
||||
|
||||
//if (mediaPlayer.VideoPlayer != null && mediaPlayer.VideoPlayer is Nikse.SubtitleEdit.Logic.VideoPlayers.LibVlc11xDynamic) //TODO: Fix this hack!
|
||||
//{
|
||||
// double newPosition = seconds - 0.015;
|
||||
// for (int i = 0; i < 200; i++)
|
||||
// {
|
||||
// if (mediaPlayer.CurrentPosition > seconds)
|
||||
// mediaPlayer.CurrentPosition = newPosition;
|
||||
// System.Threading.Thread.Sleep(1);
|
||||
// Application.DoEvents();
|
||||
// }
|
||||
//}
|
||||
timerWaveForm.Start();
|
||||
}
|
||||
|
||||
|
@ -17,6 +17,7 @@ namespace Nikse.SubtitleEdit.Logic.VideoPlayers
|
||||
private IntPtr _mediaPlayer;
|
||||
private System.Windows.Forms.Control _ownerControl;
|
||||
private System.Windows.Forms.Form _parentForm;
|
||||
private double? _pausePosition = null; // Hack to hold precise seeking when paused
|
||||
|
||||
[DllImport("user32")]
|
||||
private static extern short GetKeyState(int vKey);
|
||||
@ -255,11 +256,15 @@ namespace Nikse.SubtitleEdit.Logic.VideoPlayers
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_pausePosition != null)
|
||||
return _pausePosition.Value;
|
||||
return _libvlc_media_player_get_time(_mediaPlayer) / 1000.0;
|
||||
}
|
||||
set
|
||||
{
|
||||
_libvlc_media_player_set_time(_mediaPlayer, (long)(value * 1000.0));
|
||||
if (IsPaused && value <= Duration)
|
||||
_pausePosition = value;
|
||||
_libvlc_media_player_set_time(_mediaPlayer, (long)(value * 1000.0 + 0.5));
|
||||
}
|
||||
}
|
||||
|
||||
@ -279,6 +284,7 @@ namespace Nikse.SubtitleEdit.Logic.VideoPlayers
|
||||
public override void Play()
|
||||
{
|
||||
_libvlc_media_player_play(_mediaPlayer);
|
||||
_pausePosition = null;
|
||||
}
|
||||
|
||||
public override void Pause()
|
||||
@ -290,6 +296,7 @@ namespace Nikse.SubtitleEdit.Logic.VideoPlayers
|
||||
public override void Stop()
|
||||
{
|
||||
_libvlc_media_player_stop(_mediaPlayer);
|
||||
_pausePosition = null;
|
||||
}
|
||||
|
||||
public override bool IsPaused
|
||||
|
Loading…
Reference in New Issue
Block a user