第一次发帖。大家多多指教~
我在用C#实现一个mp3播放器,遇到一个句柄传递的问题。本人小白~
开始,我自己实现了一个方法,用来传递播放的“固定地址”(类似D:\xxx.mp3),用的是类似这样的方法:
我的方法(){
类名(已经实例化好的).name="地址";
类名(已经实例化好的).play(); //在内部实现值传递后播放。
}
后来发现,我用的解码器有Bug,所以决定放弃这个解码器。后来我查到一个开源项目(VLC)用的一个解码器不错。
这个项目也是C#写的。
它的播放方法:
string path = textBox1.Text; //播放文件路径
//进行播放的控件的句柄
IntPtr hdl = this.panel1.Handle; //问题在这句
//播放参数
string[] argv = new string[] { "-I", "--ignore-config" };
//vlc对象的创建
MediaException.ExceptionStruct ex = new MediaException.ExceptionStruct();
Core core = new Core(argv, ref ex);
Media media = new Media(core.CoreHandle, path, ref ex);
MediaPlayer player = new MediaPlayer(media.MediaHandle, ref ex);
//播放
player.VedioSetParent(core.CoreHandle, hdl, ref ex);
player.Play(ref ex);
现在遇到问题了,这个代码必须要在From的窗体里写才能接收到“IntPtr hdl = this.panel1.Handle;”这个panel1.Handle ,我想尽可能代码重利用。把这个代码写在一个类里。
请问这个IntPtr hdl = this.panel1.Handle; 该怎么样才能接收,才能写到类里?
因为我自己方法的逻辑已经实现了,所以才想把它的这个类转化为“类似”我这个方法。
非常感谢!
我在用C#实现一个mp3播放器,遇到一个句柄传递的问题。本人小白~
开始,我自己实现了一个方法,用来传递播放的“固定地址”(类似D:\xxx.mp3),用的是类似这样的方法:
我的方法(){
类名(已经实例化好的).name="地址";
类名(已经实例化好的).play(); //在内部实现值传递后播放。
}
后来发现,我用的解码器有Bug,所以决定放弃这个解码器。后来我查到一个开源项目(VLC)用的一个解码器不错。
这个项目也是C#写的。
它的播放方法:
string path = textBox1.Text; //播放文件路径
//进行播放的控件的句柄
IntPtr hdl = this.panel1.Handle; //问题在这句
//播放参数
string[] argv = new string[] { "-I", "--ignore-config" };
//vlc对象的创建
MediaException.ExceptionStruct ex = new MediaException.ExceptionStruct();
Core core = new Core(argv, ref ex);
Media media = new Media(core.CoreHandle, path, ref ex);
MediaPlayer player = new MediaPlayer(media.MediaHandle, ref ex);
//播放
player.VedioSetParent(core.CoreHandle, hdl, ref ex);
player.Play(ref ex);
现在遇到问题了,这个代码必须要在From的窗体里写才能接收到“IntPtr hdl = this.panel1.Handle;”这个panel1.Handle ,我想尽可能代码重利用。把这个代码写在一个类里。
请问这个IntPtr hdl = this.panel1.Handle; 该怎么样才能接收,才能写到类里?
因为我自己方法的逻辑已经实现了,所以才想把它的这个类转化为“类似”我这个方法。
非常感谢!
解决方案 »
- 关于数据库datableAdapter中数据填充的问题
- 水晶报表 参数字段 显示问题
- 两个窗体间传值的问题
- 关于杨辉三角的一个需调试程序
- 如何控制自己创建的目录的大小
- winfrom窗体问题
- 用VS.NET开发C#的时候,怎么自动添加事件
- 关于【存储过程】和【触发器】在项目中是否滥用的请教和讨论。
- 我将访问有ACCESS的程序拷到另一台电脑上,提示访问数据库版本有问题,都有NET,怎么回事?
- 我连接数据库时,提示这个错误:sa登录失败,未与信任的SERVER\DADI(服务器上的数据库)联接相关联,到底是错在什么地方?
- 求问个问题关于C#的,先谢谢了。
- 怎样删除一个字符串中除了汉字之外的所有字符,包括删除标点、字母、数字、特殊符号等!
play(IntPtr hdl ){}