You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WPF窗口的CefSharp中显示高清YouTube播放列表视频

YouTube播放列表在CefSharp WPF嵌入窗口中画质不一致问题

我遇到这个问题已经两周了,一开始以为YouTube高清画质需要等待加载,但这么久过去仍无改善。我有两个均以HD格式上传的YouTube播放列表,在CefSharp嵌入的WPF窗口网页项目里表现完全不同:一个能正常显示HD画质,另一个只能显示SD画质。我试过所有能想到的设置,都没法让那个画质差的播放列表显示高清。

该YouTube频道默认画质为HD,且在Firefox、Edge等浏览器中打开index.html文件时,两个播放列表都能正常显示HD,唯独在CefSharp中,那个播放列表没有高清选项。

不同环境下的表现

CefSharp WPF窗口中

  • 低画质播放列表(配图)
  • 高清画质播放列表(配图)

其他浏览器(Firefox、Edge)中

  • 低画质播放列表(配图)
  • 高清画质播放列表(配图)

当前环境信息

使用的CefSharp NuGet包版本:CefSharp.Common、CefSharp.Wpf、CefSharp.OffScreen 109.1.110

相关代码片段

CefSharp初始化设置

Cef.EnableHighDPISupport();
if (settings.CefCommandLineArgs.ContainsKey("enable-system-flash"))
{
  settings.CefCommandLineArgs["enable-system-flash"] = "0";
}
else
{
  settings.CefCommandLineArgs.Add("enable-system-flash", "0");
}
var featuresToDisable = "NetworkService,VizDisplayCompositor";
if (WpfUtils.IsDarkThemeUsed())
{
  settings.CefCommandLineArgs.Add("force-dark-mode", "1");
}
else
{
  featuresToDisable = $"{featuresToDisable},DarkMode";
}
settings.EnableAudio();
settings.CefCommandLineArgs.Add("no-proxy-server");
//settings.CefCommandLineArgs.Add("disable-plugins-discovery", "1");
//settings.CefCommandLineArgs.Add("disable-remote-playback-api", "1");
settings.CefCommandLineArgs.Add("disable-sync", "1");
settings.CefCommandLineArgs.Add("disable-wake-on-wifi", "1");
settings.CefCommandLineArgs.Add("disable-voice-input", "1");
settings.CefCommandLineArgs.Add("disable-features", featuresToDisable);
settings.CefCommandLineArgs.Add("disable-gpu-shader-disk-cache", "1");
settings.CefCommandLineArgs.Add("disable-gpu-vsync");
settings.SetOffScreenRenderingBestPerformanceArgs();
Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null);

YouTube播放器iframe API代码

vid_frame[m] = new YT.Player('vid_frame' + m, {
            width: '1280',
            height: '720',
            videoId: vidIDs[n][0],
            host: 'https://www.youtube-nocookie.com',
            playerVars: {
              'html5': 1,
              'showinfo': showVideoInfo,
              'autoplay': 1,
              'disablekb': 1,
              'controls': showPlayerControls,
              'playsinline': 1,
              'modestbranding': 1,
              'hl': 'en-US',
              'rel': showRelatedVideos,
              'widget-referrer': 'resource://web'
        },
            frameborder: 0,
            enablejsapi: 1,
            events: {
              'onStateChange': onPlayerStateChange
            }
          });

问题诉求

我希望两个播放列表在CefSharp和其他浏览器中都能显示HD画质。请问问题可能出在哪里?是什么观看条件影响了其中一个播放列表的画质?可参考YouTube iframe API参考文档(2019年10月24日更新版本)。

内容的提问来源于stack exchange,提问作者Erick's

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:15:42