C#窗体程序,使用axWindowsMediaPlayer1控件播放器,添加一个滑块控件,控制视频的播放进度,当滑块拖动到指定完整时播放所对应的视频时间
时间: 2024-09-30 17:04:42 浏览: 32
在vb.net里有一个AxWindowsMediaPlayer控件和一个按钮播放和一个多行内容的列表框.txt
在C#窗体应用程序中,你可以创建一个包含 `AxWindowsMediaPlayer1` 控件和一个 `TrackBar` 控件的场景,让 `TrackBar` 控制 `AxWindowsMediaPlayer1` 的播放进度。下面是实现这一功能的基本步骤:
1. **添加控件**:
- 在设计视图中,从工具箱中拖拽 `AxWindowsMediaPlayer1` 到窗体上,并设置其属性,如文件路径。
- 同样添加一个 `TrackBar` 控件,将其关联到 `AxWindowsMediaPlayer1` 的播放进度,一般通过 `Slider或多处设置` 将 `TrackBar.ValueChanged` 事件绑定到 `AxWindowsMediaPlayer1 PositionChanged` 事件。
2. **事件处理**:
```csharp
private void trackBar1_ValueChanged(object sender, EventArgs e)
{
double sliderValue = trackBar1.Value;
axWindowsMediaPlayer1.Position = sliderValue * axWindowsMediaPlayer1.Length / 100; // 计算并设置播放位置
}
```
这里,`sliderValue` 是 `TrackBar` 的当前值,我们将其乘以总长度(`axWindowsMediaPlayer1.Length`)然后除以最大值(通常是100),以便将滑块范围映射到实际视频长度。
3. **初始化**:
在窗体加载或初始化 `AxWindowsMediaPlayer1` 时,你可能需要先暂停播放,然后设置初始进度:
```csharp
axWindowsMediaPlayer1.Ctlcontrols.playing = false;
axWindowsMediaPlayer1.Position = 0; // 设置初始播放位置为0
```
4. **播放指定时间**:
要播放特定的时间点,可以直接设置 `Position` 属性,例如:
```csharp
axWindowsMediaPlayer1.Position = 50 * 60; // 播放50秒,假设视频总长为3分钟
```
阅读全文