1

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への参照を追加しました。例のCefGlue.Clientプロジェクトで使用されているのと同じコードをProgram.csファイルで使用し、フォームで新しいCefBrowserを作成して、コントロールに直接追加します。また、必要なceflibファイルを正しい場所に配置しました。

これで、アプリケーションを実行してWebページをロードするときに、Program.csのCefSettingsでSingleProcessをtrueに変更しない限り、すべてがハングしているように見えます。ただし、html5ビデオ(ogg)を含む別のページをロードすると、ページはレンダリングされません。ボタンを配置するページの中央をクリックしてビデオを開始できるため、インタラクションが存在することに気付きました。ビデオの再生は聞こえますが、ページは空白のままです。

同じページをCefGlue.Clientにロードすると、正常に機能します。さて、サンプルプロジェクトCefGlue.clientで設定SingleProcessをtrueに変更すると、同じことが起こるので、これと関係があるに違いないと思います。

何が悪いのかについて誰かが何か考えを持っていますか?

ありがとう、アンディ

4

2 に答える 2

1

Sébastien Frippiat によって別の場所で答えが見つかりました:

Visual Studio でデバッグする場合、SingleProcess=false の使用は機能しないようです (project_exe.exe の代わりに project_exe.vshost.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-02-07T10:56:40.283 に答える
1

Visual Studio Hosting Process を無効にするだけで、デバッグの問題は発生しません http://msdn.microsoft.com/en-us/library/ms185330(v=vs.80).aspx

于 2013-03-05T06:09:40.340 に答える