In PlayStateChange event handler detect 'newState == 3` (Playing).
After this, call wmp.Ctlcontrols.pause()
and start timer. On timer.Tick event release paused media item.
To release pause call wmp.Ctlcontrols.play()
, but be carrefull. This will trigger "newState == 3" again.
Also, timer interval should be substracted for 5 seconds, and you can't set slide to less than 5 seconds.
Sample bellow is not tested, but I implement something like this:
private System.Windows.Forms.Timer timer;
private void OnPlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{
switch (e.newState)
{
case 3:
if (!timer.Enabled)
{
this.player.Ctlcontrols.pause();
this.timer.Interval = (37 - 5) * 1000; // 37 seconds
this.timer.Start();
}
break;
}
}
protected override void OnTimerTick(object sender, EventArgs e)
{
this.player.Ctlcontrols.play();
this.timer.Stop();
}