第一次发帖。大家多多指教~
我在用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; 该怎么样才能接收,才能写到类里?
因为我自己方法的逻辑已经实现了,所以才想把它的这个类转化为“类似”我这个方法。
非常感谢!