我正在尝试将Xilium.CefGlue浏览器集成到一个现有的项目中,但我似乎不能让它与ogg一起工作。我使用的是最新版本的Xilium.CefGlue(xilium-xilium.cefglue-3caa551bd830)和CEF二进制文件(cef_binary_3.1384.1045)。在Xilium.CefGlue解决方案中运行项目时,一切工作正常。
为了确保这个问题不是由我的其他项目引起的,我启动了一个新的Winforms项目,添加了对Xilium.CefGlue.dll、Xilium.CefGlue.Demo.dll和Xilium.CefGlue.WindowsForms.dll的引用。我在Program.cs文件中使用的代码与示例中CefGlue.Client项目中使用的代码相同,并在窗体中创建一个新的CefBrowser并将其直接添加到控件中。我还将所需的ceflib文件放在了正确的位置。
现在,当运行应用程序并加载网页时,一切似乎都挂起了,除非我在Program.cs的CefSettings中将SingleProcess更改为true。但是,当加载另一个包含html5视频(ogg)的页面时,该页面不会被渲染。我确实注意到交互是存在的,因为我可以通过单击页面中心的按钮来启动视频。我可以听到视频在播放,但页面仍然是空白的。
在CefGlue.Client中加载相同的页面确实可以正常工作。现在,当我在示例项目CefGlue.client中将SingleProcess设置为true时,同样的事情也会发生,所以我猜它一定与此有关。
有谁知道哪里出问题了吗?
谢谢,安迪
发布于 2013-02-07 18:56:40
Sébastien Frippiat在其他地方找到了答案:
在使用Visual Studio进行调试时,使用SingleProcess=false似乎不起作用(应该与使用名为project_exe.vshost.exe而不是project_exe.exe的可执行文件的Visual Studio相关)。
所以我把我的CefSettings改成这样:
var settings = new CefSettings
{
BrowserSubprocessPath = @"C:\CefGlueBrowser\CefGlueBrowser\bin\x86\Debug\CefGlueBrowser.exe",
SingleProcess = false,
MultiThreadedMessageLoop = true,
LogSeverity = CefLogSeverity.Default,
LogFile = "CefGlue.log",
};这似乎可以修复它以进行调试。
发布于 2013-03-05 14:09:40
只需禁用Visual Studio托管进程,就不会有调试http://msdn.microsoft.com/en-us/library/ms185330(v=vs.80).aspx的问题
https://stackoverflow.com/questions/14749087
复制相似问题