由于Flash已經(jīng)被逐漸淘汰,建議使用HTML5、CSS3和JavaScript等現(xiàn)代技術(shù)來實(shí)現(xiàn)類似的功能。但是,如果你仍然需要使用C#來控制Flash播放進(jìn)度,可以參考以下方法:
AxWindowsMediaPlayer
控件:首先,你需要在C#項(xiàng)目中添加對(duì)AxWMPLib
和WindowsMediaPlayerControl
的引用。然后,你可以使用以下代碼來控制Flash播放進(jìn)度:
using System;
using AxWMPLib;
using WindowsMediaPlayerControl;
namespace FlashProgressControl
{
class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個(gè)AxWindowsMediaPlayer對(duì)象
AxWindowsMediaPlayer axWindowsMediaPlayer = new AxWindowsMediaPlayer();
// 將AxWindowsMediaPlayer對(duì)象添加到窗體中
this.Controls.Add(axWindowsMediaPlayer);
// 加載Flash文件
axWindowsMediaPlayer.URL = "path/to/your/flash/file.swf";
// 設(shè)置Flash播放器的進(jìn)度事件處理程序
axWindowsMediaPlayer.PlayStateChange += new AxWindowsMediaPlayerEvents_PlayStateChangeEventHandler(axWindowsMediaPlayer_PlayStateChange);
// 開始播放Flash文件
axWindowsMediaPlayer.Ctlcontrols.play();
Console.WriteLine("按任意鍵退出...");
Console.ReadKey();
}
private static void axWindowsMediaPlayer_PlayStateChange(object sender, AxWindowsMediaPlayerEvents_PlayStateChangeEventArgs e)
{
if (e.newState == (int)WMPPlayState.wmppsStopped)
{
Console.WriteLine("播放結(jié)束");
}
else if (e.newState == (int)WMPPlayState.wmppsPlaying)
{
// 獲取當(dāng)前播放時(shí)間(秒)
double currentTime = axWindowsMediaPlayer.Ctlcontrols.currentPosition;
Console.WriteLine("當(dāng)前播放時(shí)間: {0} 秒", currentTime);
}
}
}
}
請(qǐng)注意,這種方法依賴于AxWindowsMediaPlayer
控件,它可能需要額外的依賴項(xiàng)。此外,由于Flash技術(shù)已被淘汰,這種方法可能不適用于所有情況。建議使用HTML5、CSS3和JavaScript等現(xiàn)代技術(shù)來實(shí)現(xiàn)類似的功能。