我用WMPLib获取多媒体文件播放时间时总是0??这是为什么呢。
希望大家能帮帮忙。
WMPLib.WindowsMediaPlayer wmp = new WindowsMediaPlayer();
private void button2_Click(object sender, EventArgs e)
{
if (this.listBox1.SelectedItem != null)
{
this.textBox1.Text = this.listBox1.SelectedItem.ToString();
this.Text = "[" + this.textBox1.Text.Substring(this.textBox1.Text.LastIndexOf("\\") + 1) + "]--精品音乐";
wmp.URL = this.textBox1.Text;
//22222
//11111
this.label2.Text = wmp.currentMedia.durationString;
wmp.settings.setMode("loop", true);
wmp.controls.play();
}
else
{
this.button1.PerformClick();
}
}
希望大家能帮帮忙。
WMPLib.WindowsMediaPlayer wmp = new WindowsMediaPlayer();
private void button2_Click(object sender, EventArgs e)
{
if (this.listBox1.SelectedItem != null)
{
this.textBox1.Text = this.listBox1.SelectedItem.ToString();
this.Text = "[" + this.textBox1.Text.Substring(this.textBox1.Text.LastIndexOf("\\") + 1) + "]--精品音乐";
wmp.URL = this.textBox1.Text;
//22222
//11111
this.label2.Text = wmp.currentMedia.durationString;
wmp.settings.setMode("loop", true);
wmp.controls.play();
}
else
{
this.button1.PerformClick();
}
}
所以在利用的时候可以加一个timer控件:Private void Timer1_Tick(...)
{
if (AxWindowsMediaPlayer1.currentMedia.duration == 0)
MessageBox.Show('可能因为媒体文件的打开需要一定时间,这里等待媒体文件的打开');
MessageBox.Show(AxWindowsMediaPlayer1.currentMedia.duration.ToString());
}此时MessageBox便会显示文件播放长度。