以下是问题的描述:
我希望能够在我正在处理的项目中播放视频......最简单的方法是使用PInvoke和winmm.dll。我用来打开文件的代码是:
public void OpenFile()
{
if (!this.opened)
{
this.opened = this.paused = true;
command = "open \"" + videoName + "\" type mpegvideo alias VideoPlayer";
mciSendString(command, null, 0, IntPtr.Zero);
command = "set VideoPlayer time format miliseconds";
mciSendString(command, null, 0, IntPtr.Zero);
command = "set VideoPlayer seek exactly on";
mciSendString(command, null, 0, IntPtr.Zero);
}
else
{
this.CloseVideo();
this.OpenFile();
}
}
播放文件的代码:
command = String.Format("play VideoPlayer notify");
mciSendString(command, null, 0, IntPtr.Zero);
问题是视频文件是在新窗口中打开和播放的。有没有办法让它在窗口中播放我称之为方法?
我试着搜索msdn,但确实找到了this。如果您查看 lpszPlayFlags 下的标志窗口
指定播放应使用与设备实例关联的窗口。这是默认设置。
即使我使用该标志,仍会在新窗口中播放视频。
显然,我做错了什么。如果有人知道我的错误是什么,并且知道如何解决这个“问题”,那将非常感激。
谢谢!
最好的问候。