AxWMPLib.AxWindowsMediaPlayer WMV 文件出现了奇怪的行为
AxWMPLib.AxWindowsMediaPlayer has presented weird behavior for WMV files
在我的 Windows Forms C# 应用程序中,我实现了 COM AxWMPLib.AxWindowsMediaPlayer
,我有一个设置 currentPosition
的按钮,但是当涉及到 WMV 时,它表现出奇怪的行为文件,它没有正确设置 currentPosition
,而是有 2~6 秒的差异。
在下面的示例中,我将 currentPosition
设置为 7,但它实际上设置回 5 或有时设置为 4,为什么?它只发生在 WMV 文件上,但 MKV 和 MP4 工作正常。
namespace MediaPlayerTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e)
{
axWindowsMediaPlayer1.URL = @"D:\Downloads\sample.wmv";
}
private void button1_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 7.0;
}
}
}
这是一个错误吗?如何解决?有 WMV 文件的解决方法吗?
感谢@Hans Passant 的评论。
根据这个答案:https://superuser.com/questions/591904/windows-media-player-v12-seek-position-wont-play-from-a-chosen-position
WMV 似乎有编码问题。除了 MKV 和 MP4 文件格式工作正常之外,我还做了很多测试以发现其他文件格式的类似问题,例如:AVI、WebM、3GP、MPG、VOB、MOV、FLV。
WMV 是唯一出现问题的文件。
所以我为 WMV 文件做了这个解决方法:
private void button1_Click(object sender, EventArgs e)
{
string isWMV = axWindowsMediaPlayer1.currentMedia.sourceURL;
if (isWMV.EndsWith(".wmv"))
{
ToolTip toolTip = new ToolTip();
toolTip.Show("It's disabled for WMV files due to the faulty WMV indexing table.", button1);
return;
}
axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 7.0;
}
在我的 Windows Forms C# 应用程序中,我实现了 COM AxWMPLib.AxWindowsMediaPlayer
,我有一个设置 currentPosition
的按钮,但是当涉及到 WMV 时,它表现出奇怪的行为文件,它没有正确设置 currentPosition
,而是有 2~6 秒的差异。
在下面的示例中,我将 currentPosition
设置为 7,但它实际上设置回 5 或有时设置为 4,为什么?它只发生在 WMV 文件上,但 MKV 和 MP4 工作正常。
namespace MediaPlayerTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e)
{
axWindowsMediaPlayer1.URL = @"D:\Downloads\sample.wmv";
}
private void button1_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 7.0;
}
}
}
这是一个错误吗?如何解决?有 WMV 文件的解决方法吗?
感谢@Hans Passant 的评论。 根据这个答案:https://superuser.com/questions/591904/windows-media-player-v12-seek-position-wont-play-from-a-chosen-position
WMV 似乎有编码问题。除了 MKV 和 MP4 文件格式工作正常之外,我还做了很多测试以发现其他文件格式的类似问题,例如:AVI、WebM、3GP、MPG、VOB、MOV、FLV。
WMV 是唯一出现问题的文件。 所以我为 WMV 文件做了这个解决方法:
private void button1_Click(object sender, EventArgs e)
{
string isWMV = axWindowsMediaPlayer1.currentMedia.sourceURL;
if (isWMV.EndsWith(".wmv"))
{
ToolTip toolTip = new ToolTip();
toolTip.Show("It's disabled for WMV files due to the faulty WMV indexing table.", button1);
return;
}
axWindowsMediaPlayer1.Ctlcontrols.currentPosition = 7.0;
}