Windows Media Playerを使う。
ソース
using System;
using System.Windows.Forms;
namespace MoviePlayer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
axWindowsMediaPlayer1.Dock = DockStyle.Fill;
trackBar1.Minimum = 1;
trackBar1.Maximum = 20;
trackBar1.Value = 10;
trackBar1.TickFrequency = 1;
}
private void Form1_Load(object sender, EventArgs e)
{
axWindowsMediaPlayer1.URL = @"C:\temp\test.mp4";
axWindowsMediaPlayer1.settings.autoStart = true;
axWindowsMediaPlayer1.uiMode = "none";
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
double speed = trackBar1.Value / 10.0;
axWindowsMediaPlayer1.settings.rate = speed;
}
}
}
再生位置の取得と設定
double pos_sec = axWindowsMediaPlayer1.Ctlcontrols.currentPosition;
string pos_str = axWindowsMediaPlayer1.Ctlcontrols.currentPositionString;
Console.WriteLine($"position = {pos_sec}, {pos_str}");
axWindowsMediaPlayer1.Ctlcontrols.currentPosition = pos_sec;