我正在开发一款应用。在C#中的Windows窗体应用程序中,用户可以在两个独立的播放器中上传两个视频,并有播放,暂停和停止按钮,使用户可以同步播放,暂停和停止两个视频。
对于暂停功能,当用户按下按钮时,它会在该时间点停止,但是当按下播放按钮时,它会从流的开始处开始。
为此,我想保存选择暂停按钮的第一个和第二个视频的时间,并将它们保存到文本文件中,例如:第一行 - 第一个播放器:01:02:03,第二个第二行播放器:04:05:03然后当播放按钮被设置时,它从文本文件中读取并从每个播放器的给定时间开始。
我清楚地知道该怎么做,但需要一些帮助来编写代码。
谢谢
private void Play_button2_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.URL = Path_textBox1.Text;
axWindowsMediaPlayer1.Ctlcontrols.play();
axWindowsMediaPlayer2.URL = Path_textBox2.Text;
axWindowsMediaPlayer2.Ctlcontrols.play();
}
private void Stop_button3_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
axWindowsMediaPlayer2.Ctlcontrols.stop();
}
private void Pause_button1_Click_1(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
axWindowsMediaPlayer2.Ctlcontrols.pause();
}
答案 0 :(得分:2)
我认为你所追求的是像
暂停:
double currentposition1 = player1.Ctlcontrols.currentPosition();
double currentposition2 = player2.Ctlcontrols.currentPosition();
开始
player1.Ctlcontrols.currentPosition = currentposition1;
player2.Ctlcontrols.currentPosition = currentposition2;
1:EDIT
尝试这样的事情,现在我几乎给你自己编写的代码。
private double currentposition1;
private double currentposition2;
private void Play_button2_Click(object sender, EventArgs e)
{
if(currentposition1!=0)
{
player1.Ctlcontrols.currentPosition = currentposition1;
player2.Ctlcontrols.currentPosition = currentposition2;
}
axWindowsMediaPlayer1.URL = Path_textBox1.Text;
axWindowsMediaPlayer1.Ctlcontrols.play();
axWindowsMediaPlayer2.URL = Path_textBox2.Text;
axWindowsMediaPlayer2.Ctlcontrols.play();
}
private void Stop_button3_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
axWindowsMediaPlayer2.Ctlcontrols.stop();
}
private void Pause_button1_Click_1(object sender, EventArgs e)
{
currentposition1 = player1.Ctlcontrols.currentPosition();
currentposition2 = player2.Ctlcontrols.currentPosition();
axWindowsMediaPlayer1.Ctlcontrols.pause();
axWindowsMediaPlayer2.Ctlcontrols.pause();
}