C# 照片+;C语言中的视频幻灯片循环#
我正在做一个项目。项目的逻辑是:;文件夹中的照片也将包含文件夹中的视频。照片将依次显示在pictureBox中。当涉及到最后一张照片时,它将按顺序播放视频文件夹中的视频,一旦此处的视频完成,它将再次播放C# 照片+;C语言中的视频幻灯片循环#,c#,loops,video,photo,slide,C#,Loops,Video,Photo,Slide,我正在做一个项目。项目的逻辑是:;文件夹中的照片也将包含文件夹中的视频。照片将依次显示在pictureBox中。当涉及到最后一张照片时,它将按顺序播放视频文件夹中的视频,一旦此处的视频完成,它将再次播放 public string[] imageFiles = Directory.GetFiles(@"C:\Users\HP\Desktop\Photos"); public string[] videoFiles = Directory.GetFiles(@"C:\Users\HP\Deskto
public string[] imageFiles = Directory.GetFiles(@"C:\Users\HP\Desktop\Photos");
public string[] videoFiles = Directory.GetFiles(@"C:\Users\HP\Desktop\Videos");
int i = 0;
public void Form3_Load(object sender, EventArgs e)
{
int w = Screen.PrimaryScreen.Bounds.Width;
int h = Screen.PrimaryScreen.Bounds.Height;
this.Size = new Size(w, h);
pictureBox1.Size = new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
timer1.Interval = Form2.sure;
pictureBox1.ImageLocation = imageFiles[0];
}
private void timer1_Tick(object sender, EventArgs e)
{
i++;
if (i >= imageFiles.Length)
{
timer1.Stop();
axWindowsMediaPlayer1.Visible = true;
pictureBox1.Visible = false;
var myPlayList = axWindowsMediaPlayer1.playlistCollection.newPlaylist("MyPlaylist");
foreach (var item in videoFiles)
{
var mediaItem = axWindowsMediaPlayer1.newMedia(item);
myPlayList.appendItem(mediaItem);
}
axWindowsMediaPlayer1.currentPlaylist = myPlayList;
}
else
{
pictureBox1.ImageLocation = imageFiles[i];
}
}
我做了所有这些,当视频结束时,照片正在播放,但当视频结束时,黑屏不断出现,我希望视频返回并显示照片。
如果您能帮助我,我将非常高兴。换句话说,在第一个序列完成后,它不会循环回到开头,只是显示黑色占位符?在任何时候,您都不会执行任何重置代码<代码>i永远不会重置为0。您需要具备检测视频播放列表结束的条件,并设置
i=0编码>以便在下一个计时器上勾选,它会循环回图像。我这样做了,但因为我停止了计时器,所以没有任何更改。如果我不停止计时器,它会每3秒更改一次视频(计时器间隔3000)。好的,听起来您需要检测最后一个视频何时完成,然后重新启动计时器,并将I
重新初始化为0。我不明白你有什么问题。