C# mciSendString问题

来源:百度知道 编辑:UC知道 时间:2024/06/26 03:52:32
我想用C#做个播放器,用到的是API中的mciSendString,现在碰到一个问题,就是播放音乐文件的时候没问题,但播放视频的时候,会跳出一个新窗口来播放,我想在窗体中自己定义一个控件,比如说panel(不知道可不可以,如果不行,哪个控件可以),然后播放视频的时候,视频就会在这个控件上播放.代码如下,请高手指点一下,成功的我全部分都给你了!

//API
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern int GetShortPathName(
string lpszLongPath,
string shortFile,
int cchBuffer
);

[DllImport("winmm.dll", EntryPoint= "mciSendString", CharSet = CharSet.Auto)]
public static extern int mciSendString(
string lpstrCommand,
string lpstrReturnString,
int uReturnLength,
int hwndCallback
);

private void button3_Click(object sender, EventArgs e)
{
string buf = "";
buf = buf.PadLeft(128, ' ');
string

private void button3_Click(object sender, EventArgs e)
{

IntPtr h = panel1.Handle;
int handle = h.ToInt32();
mciSendString("Open F:\\xj.avi alias AVI style child parent",null,0,0);
mciSendString("Windows AVI handle "+handle.ToString (),null,0,0);
mciSendString("put AVI destination",null,0,0);
mciSendString("Play AVI repeat", null, 0, 0);
}

你可以用DirectX的DirectPlay来播放,或者用MediaPlayer的组件来播放。

找别的 播放器 ,没用过