C#每天抄一点(28):SWF播放器
26 Oct 2011能写这个还是比较爽的,虽然功能的基本实现不是自己写的,是人家微软给搞好的。
暑假快开学的那几天在看C#的视频,但是下载下来用各种播放器,不是不能播放就是不能暂停,导致我一边视频一边截图,后抄之代码。
反正此刻心情好了很多。
弄这个东西,需要几个文件,Interop.ShockwaveFlashObjects,AxInterop.MSComctlLib,AxShockwaveFlashObjects。
刚开始不能运行程序,缺少Aximp.exe,后下载Windows SDK解决。也希望能为学习之友减少不必要的麻烦。
后几篇文章也会用到类似的文件。在项目里添加引用即可,如下图:
001 /*
002 * 由SharpDevelop创建。
003 * 用户: Lazynight
004 * 日期: 2011/10/26
005 * 时间: 20:18
006 *
007 * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
008 */
009 using System;
010 using System.Collections.Generic;
011 using System.Drawing;
012 using System.Windows.Forms;
013
014 namespace Lazy28_swf播放器
015 {
016 ///</span>
017 /// Description of MainForm.
018 /// </summary>
019 public partial class MainForm : Form
020 {
021 public MainForm()
022 {
023
024 InitializeComponent();
025
026 }
027
028 void MainFormLoad(object sender, EventArgs e)
029 {
030
031 }
032
033 void Button1Click(object sender, EventArgs e)
034 {
035 openFileDialog1.Filter=“*.swf|*swf”;//打开文件类型
036 openFileDialog1.ShowDialog();//显示打开对话框
037 if(this.openFileDialog1.FileName.Trim()==“”)
038 return;
039 try
040 {
041 this.axShockwaveFlash1.Movie=this.openFileDialog1.FileName;
042 //浏览flash 文件
043 }
044 catch
045 {
046 //提示对话框
047 MessageBox.Show(this,“打开Flash文件错误~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
048 }
049 }
050
051 void Button2Click(object sender, EventArgs e)
052 {
053 if(this.openFileDialog1.FileName.Length>)
054 {
055 this.axShockwaveFlash1.Play();//播放动画
056 }
057 else
058 {
059 MessageBox.Show(this,“请选择要播放的Flash动画~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
060 }
061 }
062
063 void Button3Click(object sender, EventArgs e)
064 {
065 if(this.openFileDialog1.FileName.Length>)
066 {
067 this.axShockwaveFlash1.Stop();//停止播放动画
068 }
069 else
070 {
071 MessageBox.Show(this,“请选择要播放的Flash动画~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
072 }
073 }
074
075 void Button4Click(object sender, EventArgs e)
076 {
077 if(this.openFileDialog1.FileName.Length>)
078 {
079 this.axShockwaveFlash1.Back();//播放上一帧动画
080 }
081 else
082 {
083 MessageBox.Show(this,“请选择要播放的Flash动画~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
084 }
085 }
086
087 void Button5Click(object sender, EventArgs e)
088 {
089 if(this.openFileDialog1.FileName.Length>)
090 {
091 this.axShockwaveFlash1.Forward();//播放下一帧动画
092 }
093 else
094 {
095 MessageBox.Show(this,“请选择要播放的Flash动画~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
096 }
097 }
098
099
100 void AxShockwaveFlash1Enter(object sender, EventArgs e)
101 {
102 this.BackColor=Color.Black;
103 }
104 }
105 } </div> 下载源码 转载请注明:[于哲的博客][1] » [C#每天抄一点(28):SWF播放器][2] [1]: http://lazynight.me [2]: http://lazynight.me/687.html
002 * 由SharpDevelop创建。
003 * 用户: Lazynight
004 * 日期: 2011/10/26
005 * 时间: 20:18
006 *
007 * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
008 */
009 using System;
010 using System.Collections.Generic;
011 using System.Drawing;
012 using System.Windows.Forms;
013
014 namespace Lazy28_swf播放器
015 {
016 ///
017 /// Description of MainForm.
018 /// </summary>
019 public partial class MainForm : Form
020 {
021 public MainForm()
022 {
023
024 InitializeComponent();
025
026 }
027
028 void MainFormLoad(object sender, EventArgs e)
029 {
030
031 }
032
033 void Button1Click(object sender, EventArgs e)
034 {
035 openFileDialog1.Filter=“*.swf|*swf”;//打开文件类型
036 openFileDialog1.ShowDialog();//显示打开对话框
037 if(this.openFileDialog1.FileName.Trim()==“”)
038 return;
039 try
040 {
041 this.axShockwaveFlash1.Movie=this.openFileDialog1.FileName;
042 //浏览flash 文件
043 }
044 catch
045 {
046 //提示对话框
047 MessageBox.Show(this,“打开Flash文件错误~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
048 }
049 }
050
051 void Button2Click(object sender, EventArgs e)
052 {
053 if(this.openFileDialog1.FileName.Length>)
054 {
055 this.axShockwaveFlash1.Play();//播放动画
056 }
057 else
058 {
059 MessageBox.Show(this,“请选择要播放的Flash动画~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
060 }
061 }
062
063 void Button3Click(object sender, EventArgs e)
064 {
065 if(this.openFileDialog1.FileName.Length>)
066 {
067 this.axShockwaveFlash1.Stop();//停止播放动画
068 }
069 else
070 {
071 MessageBox.Show(this,“请选择要播放的Flash动画~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
072 }
073 }
074
075 void Button4Click(object sender, EventArgs e)
076 {
077 if(this.openFileDialog1.FileName.Length>)
078 {
079 this.axShockwaveFlash1.Back();//播放上一帧动画
080 }
081 else
082 {
083 MessageBox.Show(this,“请选择要播放的Flash动画~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
084 }
085 }
086
087 void Button5Click(object sender, EventArgs e)
088 {
089 if(this.openFileDialog1.FileName.Length>)
090 {
091 this.axShockwaveFlash1.Forward();//播放下一帧动画
092 }
093 else
094 {
095 MessageBox.Show(this,“请选择要播放的Flash动画~”,“提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);
096 }
097 }
098
099
100 void AxShockwaveFlash1Enter(object sender, EventArgs e)
101 {
102 this.BackColor=Color.Black;
103 }
104 }
105 } </div> 下载源码 转载请注明:[于哲的博客][1] » [C#每天抄一点(28):SWF播放器][2] [1]: http://lazynight.me [2]: http://lazynight.me/687.html