阅读量:0
由于Flash已经被逐渐淘汰,建议使用HTML5、CSS3和JavaScript等现代技术来实现类似的功能。但是,如果你仍然需要使用C#来控制Flash播放进度,可以参考以下方法:
- 使用
AxWindowsMediaPlayer
控件:
首先,你需要在C#项目中添加对AxWMPLib
和WindowsMediaPlayerControl
的引用。然后,你可以使用以下代码来控制Flash播放进度:
using System; using AxWMPLib; using WindowsMediaPlayerControl; namespace FlashProgressControl { class Program { static void Main(string[] args) { // 创建一个AxWindowsMediaPlayer对象 AxWindowsMediaPlayer axWindowsMediaPlayer = new AxWindowsMediaPlayer(); // 将AxWindowsMediaPlayer对象添加到窗体中 this.Controls.Add(axWindowsMediaPlayer); // 加载Flash文件 axWindowsMediaPlayer.URL = "path/to/your/flash/file.swf"; // 设置Flash播放器的进度事件处理程序 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("播放结束"); } else if (e.newState == (int)WMPPlayState.wmppsPlaying) { // 获取当前播放时间(秒) double currentTime = axWindowsMediaPlayer.Ctlcontrols.currentPosition; Console.WriteLine("当前播放时间: {0} 秒", currentTime); } } } }
请注意,这种方法依赖于AxWindowsMediaPlayer
控件,它可能需要额外的依赖项。此外,由于Flash技术已被淘汰,这种方法可能不适用于所有情况。建议使用HTML5、CSS3和JavaScript等现代技术来实现类似的功能。