cefsharp.winform 106版本,打开网页不能播放视频(MP4和flash)

如题
不能播放视频,视频窗口的按钮也不能点击

img

有说改cef底层支持H264的,网上编译好的包全都是付费的不太放心,这里付费咨询一下

有安装flash插件吗

访问的mp4网址发出来看一下

可以用,自己编译教程也挺多,如果能科学,自己编译也行。一切正常大概3天(如果不正常,折腾一个星期的也有,他那个代码同步工具时间太长python2,python3,升级脚本,bat脚本版本也乱。第一次搞估计要折腾1星期,所以别怪其他人收费,因为实在比较折腾)
但是因为内核版本众多,你最好别做内核升级打算。每次升一次级就得重新找对应版本的mp4修复版也是一件头疼的事情

所以个人建议直接换成微软的webview2(这个还是chrome的内核,不过是微软官方封的库),这个内置h264支持,而且还是自动升级内核。

参考gpt:
结合自己分析给你如下建议:
关于CefSharp 无法播放视频解决方案:这是一个介绍如何重新编译cefsharp源码来支持视频播放的博客文章,作者提供了cefsharp 90.6.7版本的编译好的libcef.dll文件的下载地址,您可以尝试替换您项目中的libcef.dll文件来解决问题。
05使得cefsharp浏览器支持mp3、mp4媒体播放方法:这是一个介绍如何使用cefsharp 88.2.90版本来支持mp3、mp4媒体播放的博客文章,作者提供了详细的使用步骤和相关资源的下载地址,您可以参考该文章来实现您的需求。
cefsharp winform 支持视频播放:这是一个提供了cefsharp 75.1.142.0版本的编译后支持html的video标签版本的下载地址的博客文章,您可以下载该版本并覆盖您项目中的cef相关文件来支持视频播放。

【以下回答由 GPT 生成】

我可以理解您遇到的问题。要解决cefsharp.winform 106版本无法播放MP4和flash视频的问题,您可以尝试以下方法:

  1. 确保已安装合适的解码器:请确保您的系统中已正确安装了用于解码MP4视频的解码器。您可以尝试使用K-Lite Codec Pack等常用的解码器包,以确保系统能够正确解码MP4格式的视频。

  2. 使用CEF版本的升级:尝试升级您使用的CEF版本。由于新版本通常包含对多种视频格式的支持和改进,因此升级CEF版本可能会解决您的问题。您可以在CEF官方网站上找到最新的CEF版本,然后将其集成到您的项目中。

  3. 自定义编译CEF:如果您不放心网上提供的编译好的CEF包,您可以考虑自己从CEF源代码编译。这样您可以确保编译的CEF版本符合您的需求,并且可以自定义支持的视频编码格式。请按照CEF官方提供的编译指南进行操作。

  4. 确保使用正确的CEF配置:检查您的CEF配置,确保已正确启用支持MP4和Flash视频的选项。在启动CEFSharp浏览器之前,您可以使用Settings对象进行配置,例如:

var settings = new CefSettings();
settings.CefCommandLineArgs.Add("enable-media-stream", "1");
settings.CefCommandLineArgs.Add("enable-gpu-rasterization", "1");

Cef.Initialize(settings);
  1. 检查CefSharp版本和集成代码:确保您使用的是最新版本的CefSharp和集成代码。CefSharp团队可能已经修复了MP4和Flash视频播放的问题,并且在新版本中提供了相关的改进和修复。您可以在CefSharp的GitHub页面上找到最新的版本和文档。

请注意,以上方法都是基于我对您提供的信息的理解,如果您能够提供更多的细节,例如操作系统版本、代码示例等,我可以提供更准确和具体的解决方案。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

题主,这个问题我来替你解决,若有帮助,还望采纳,点击回答右侧采纳即可。

以下是可能解决问题的一些步骤:

  1. 确保你的CEFSharp版本是最新的,如果不是的话,请更新至最新版。

  2. 检查你的浏览器是否支持HTML5视频和Flash视频,如果不支持的话,视频无法播放。如果支持但是依然无法播放,可能是你的浏览器配置有问题,需要重新配置。

  3. 确保你的视频播放器已经正确地安装,并且最新版本。如果你的视频播放器过时或者安装有问题,可能会导致播放失败,或者无法播放。在这种情况下,你需要更新你的播放器或者重新安装。

  4. 检查你的网络连接,如果网络连接不稳定或者连接速度不足,可能会导致视频无法缓冲或者播放失败。如果你的网络连接不稳定,建议你换一个网络或者降低视频分辨率来保证视频播放。

  5. 如果以上步骤都无法解决问题,你可以尝试更换浏览器或者检查你的操作系统是否支持HTML5视频和Flash视频。

希望以上解决步骤能够帮助你解决问题。

援引讯飞星火:
您好,cefsharp.winform 106版本打开网页不能播放视频(MP4和flash)的问题可能是由于缺少相应的dll文件导致的。您可以尝试重新编译cefsharp,以便支持H.264编码的视频 。如果您不想重新编译cefsharp,可以尝试安装一些第三方库,例如ChromiumEmbeddedFramework.NETCore或CefSharp.WinForms,这些库已经包含了对H.264编码的支持。

结合GPT给出回答如下请题主参考
CEFSharp默认情况下应该是支持HTML5中的video标签和flash视频播放的,但是有时候可能会出现不兼容的情况。

如果视频窗口的按钮不能点击,可能是因为CEF的GPU加速没有启用,你可以在初始化CEF之前加入以下参数来启用GPU加速:

CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("enable-gpu", "1");
Cef.Initialize(settings);

如果视频仍然无法播放,可能需要手动添加对H264的支持。在CEFSharp的106版本中,可以通过设置定制方案选项来实现此功能:

CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("force-wave-vc-mismatch", "1");
settings.CefCommandLineArgs.Add("enable-media-stream", "1");

//设置定制方案
CefSharpSettings.SubprocessExitIfParentProcessClosed = true;
settings.CefCommandLineArgs.Add("use-angle", "d3d11");
CefSharpSettings.LegacyJavascriptBindingEnabled = true;
CefSharpSettings.FocusedNodeChangedEnabled = true;
CefSharpSettings.WcfEnabled = true;

//添加H264的支持
CefSharpSettings.LegacyCefCustomSchemeHandlers.Add("http", new CefSharpSchemeHandlerFactory());
CefSharpSettings.LegacyCefCustomSchemeHandlers.Add("https", new CefSharpSchemeHandlerFactory());
CefSharpSettings.LegacyCefCustomSchemeHandlers.Add("file", new CefSharpSchemeHandlerFactory());
CefSharpSettings.LegacyCefCustomSchemeHandlers.Add("ws", new CefSharpSchemeHandlerFactory());
CefSharpSettings.LegacyCefCustomSchemeHandlers.Add("wss", new CefSharpSchemeHandlerFactory());

Cef.Initialize(settings);

另外需要注意的是,如果你使用了自己的HTML页面来播放视频,可能需要在页面中添加兼容H264的代码。比如:

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  <object data="movie.mp4" width="320" height="240">
    <embed src="movie.swf" width="320" height="240">
  </object>
</video>

希望以上信息能够对你有所帮助。

检查你的MP4和Flash视频文件是否正确编码,并且浏览器支持这些视频格式。你可以尝试在其他支持视频播放的浏览器中打开相同的视频文件,以确认文件本身是否存在问题。

【C#】Winform+CefSharp 播放MP3 MP4 以及flash
可以参考下


关于CefSharp 无法播放视频解决方案_看城南花开的博客-CSDN博客 最近做了一个项目,需要浏览器全屏,并且设置主页键,刷新键,后退键,屏蔽右击等。只有采用开源CefSharp才能满足需求,但是无法播放视频等。CefSharp 后退代码(chromeBrowser.GetBrowser().GoBack())CefSharp 刷新键代码(刷新chromeBrowser.GetBrowser().Reload())CefSharp 上一页代码(chromeBrowser.GetBrowser().GoBack())CefSharp 下一页代码(chrome..._cefsharp 无法播放视频 https://blog.csdn.net/caijianjx/article/details/123403365

引用 皆我百晓生 小程序回复内容作答:

对于 CefSharp.WinForms 106 版本的问题,导致不能播放视频和点击视频窗口按钮的可能原因有几种。下面提供了一些常见的解决方案:

  1. 检查 CEFSharp 库版本:确保您使用的是最新的 CEFSharp 库版本。更新到最新版本可能会修复一些已知的问题。

  2. 检查网页中的视频格式:确保您尝试播放的视频是支持的格式,例如 MP4 或 Flash。尝试播放其他格式的视频,以确认问题是否特定于某一种格式。

  3. 检查 CEFSharp 的配置:确保您已正确配置 CEFSharp 来支持播放视频。您可能需要进行一些额外的配置,例如启用 H264 支持。检查 CEFSharp 的文档或社区论坛以获取更多信息。

  4. 检查代码实现:确保您正确地集成了 CEFSharp 库,并且将其应用于您的窗体中。检查您的代码,确保您正确设置了窗口和按钮的属性和事件处理器。

如果上述解决方案都无效,您还可以考虑以下选项:

  1. 向 CEFSharp 社区寻求帮助:参加 CEFSharp 的官方论坛或社区,寻求帮助并与其他开发人员交流,也许他们已经遇到并解决了类似的问题。

  2. 考虑付费的解决方案:尽管大多数编译好的 CEFSharp 包都是付费的,但这些包往往是由经验丰富的开发人员编译和支持的,并且可能提供更可靠和稳定的解决方案。

总之,要解决 CefSharp 打开网页不能播放视频的问题,您需要通过检查库版本、配置和代码实现来确定问题的原因,并尝试相应的解决方案。


cefsharp winform 支持视频播放_cefsharp.winforms video_蜗牛奔跑中的博客-CSDN博客 cefsharp winform 定制浏览器完美支持视频播放功能_cefsharp.winforms video https://blog.csdn.net/jipengx/article/details/122318485

参考结合AI智能、文心一言等综合回答,若有帮助,恭请采纳。
可能是CEFSharp版本的问题。请尝试升级到最新版本的CEFSharp并重新运行程序。您还可以检查您的代码是否正确加载了CEFSharp的设置和配置。以下是一些常见问题和解决方案:

  1. 确保已正确加载CEFSharp设置和配置:
CefSettings settings = new CefSettings();
settings.CachePath = "cache";
settings.PersistSessionCookies = true;
settings.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36";
settings.CefCommandLineArgs.Add("disable-gpu", "1");
Cef.Initialize(settings);
  1. 确保已为CEFSharp启用了GPU加速:
settings.CefCommandLineArgs.Add("disable-gpu", "0");
settings.CefCommandLineArgs.Add("enable-begin-frame-scheduling", "1");
settings.CefCommandLineArgs.Add("enable-gpu-rasterization", "1");
  1. 请确保您的程序已正确配置了CEFSharp的资源和引用,以确保可以正常加载视频:
CefSharpSettings.ShutdownOnExit = true;
CefSharpSettings.SubprocessExitIfParentProcessClosed = true;
Cef.EnableHighDPISupport();
CefSharpSettings.LegacyJavascriptBindingEnabled = true;
Cef.EnableHighDPISupport();
CefSharpSettings.FocusedNodeChangedEnabled = true;
CefSharpSettings.ConcurrentTaskExecution = true;
CefSharpSettings.ShutdownOnUnhandledException = true;
CefSharpSettings.BrowserSubprocessPath = @"x86\CefSharp.BrowserSubprocess.exe";

尝试使用其他浏览器或重置浏览器设置。
检查CEFSharp的配置,确保它正确地加载了所需的插件和库。可以在CEFSharp的配置文件中查找相关的配置选项。

参考gpt

  1. 确认CEF版本:确保你使用的是支持视频播放的CEF版本。你提到的是CefSharp WinForms 106版本,但并没有提到具体的CEF版本。请确保你使用的CEF版本支持播放MP4和Flash视频。

  2. 检查CEF配置:在初始化CefSharp之前,你可以通过配置CEF来启用视频支持。你可以使用CefSettings类来设置配置选项。以下是一个示例代码片段:

var settings = new CefSettings();
settings.CefCommandLineArgs.Add("enable-media-stream", "1");
Cef.Initialize(settings);

这个示例中,我们添加了enable-media-stream命令行参数来启用媒体流支持。你可以根据需要添加其他的命令行参数。

  1. 检查浏览器设置:在创建ChromiumWebBrowser实例之前,你可以设置一些浏览器选项来确保视频播放正常。以下是一个示例代码片段:
var browserSettings = new BrowserSettings();
browserSettings.WebSecurity = CefState.Disabled; // 禁用Web安全性
browserSettings.FileAccessFromFileUrls = CefState.Enabled; // 启用文件URL访问
browserSettings.UniversalAccessFromFileUrls = CefState.Enabled; // 启用文件URL的通用访问

var browser = new ChromiumWebBrowser("https://example.com", browserSettings);

在这个示例中,我们禁用了Web安全性,并启用了文件URL的访问和通用访问。你可以根据自己的需求进行设置。

  1. 检查视频格式支持:确保你的视频文件是支持的格式,例如H.264编码的MP4文件。如果视频文件格式不受支持,你可能需要转换视频文件或使用其他的解码器。

  2. 检查CEFSharp版本和文档:确保你使用的是最新的CEFSharp版本,并查阅相关文档和示例,以了解如何正确地配置和使用CEFSharp来支持视频播放。

确保 CEF 底层支持 H264 视频编解码器,你可以查看 CEFSharp WinForms 的文档或官方网站,了解该版本是否支持 H264 编解码器