如何在MAUI应用中展示YouTube(YT)视频?
在MAUI中嵌入播放YouTube视频的解决方案
方法1:通过WebView加载YouTube嵌入iframe
YouTube不允许直接通过MediaElement播放其视频流,最可靠的替代方式是用WebView加载官方嵌入iframe,仅显示视频播放器而非完整YouTube页面。
实现步骤:
获取视频嵌入链接
从目标YouTube视频的「分享」→「嵌入」选项复制iframe代码,或直接构造格式:https://www.youtube.com/embed/[视频ID]。例如原视频链接为https://www.youtube.com/watch?v=dQw4w9WgXcQ,则嵌入链接为https://www.youtube.com/embed/dQw4w9WgXcQ。配置XAML中的WebView
<WebView x:Name="webView" Grid.Row="1" Margin="10,10,10,10" />后台代码设置嵌入URL
// 替换为你的目标视频ID string targetVideoId = "dQw4w9WgXcQ"; webView.Source = new UrlWebViewSource { Url = $"https://www.youtube.com/embed/{targetVideoId}?autoplay=1&controls=1&mute=0" };可选参数说明:
autoplay=1:开启自动播放(部分平台需用户交互触发,受浏览器策略限制)controls=1:显示播放控制栏mute=1:静音播放(部分平台允许静音状态下自动播放)loop=1:开启循环播放
方法2:使用MAUI第三方YouTube专用控件
若不想依赖WebView,可尝试维护状态良好的第三方MAUI控件,例如Plugin.Maui.YouTubePlayer:
安装NuGet包
Install-Package Plugin.Maui.YouTubePlayerXAML中引用并使用控件
xmlns:youtube="clr-namespace:Plugin.Maui.YouTubePlayer;assembly=Plugin.Maui.YouTubePlayer" <youtube:YouTubePlayerView Grid.Row="1" Margin="10,10,10,10" VideoId="dQw4w9WgXcQ" AutoPlay="True" ShowControls="True" />
注意事项
- 始终使用YouTube官方提供的嵌入格式,避免使用非官方流提取方式(可能违反YouTube服务条款)
- 自动播放功能在iOS、Android等平台受系统隐私/权限限制,部分场景下需用户手动触发播放
- 第三方控件需关注其兼容性和维护状态,优先选择活跃维护的库
内容的提问来源于stack exchange,提问作者Silny ToJa
相关产品推荐
相关产品推荐

