Maui MediaElement无法加载资源中mp4文件的问题排查
CommunityToolkit.Maui.MediaElement嵌入视频加载失败问题排查
我正在使用CommunityToolkit.Maui.MediaElement NuGet包开发MAUI示例项目,编写了以下代码后,运行时视频无法加载,显示空白状态,且已确认视频资源文件已添加到项目中。
XAML代码
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit" x:Class="MediaElementApp.MainPage"> <ScrollView> <VerticalStackLayout Padding="30,0" Spacing="25"> <toolkit:MediaElement Source="embed://myvideo.mp4" WidthRequest="400" HeightRequest="600" ShouldAutoPlay="True" ShouldMute="True" ShouldLoopPlayback="True" ShouldShowPlaybackControls="False"/> </VerticalStackLayout> </ScrollView> </ContentPage>
Program.cs代码
var builder = MauiApp.CreateBuilder(); builder .UseMauiApp<App>() .UseMauiCommunityToolkit() .UseMauiCommunityToolkitMediaElement() .ConfigureFonts(fonts => { fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold"); });
运行效果

已添加的资源文件

问题原因及修正方案
- 嵌入资源URI格式错误:CommunityToolkit.Maui.MediaElement不支持
embed://前缀,正确的嵌入资源URI格式应为resource://[程序集名称]/[资源相对路径]。- 假设项目程序集名称为
MediaElementApp,视频文件在项目根目录,需将Source修改为:Source="resource://MediaElementApp/myvideo.mp4"
- 假设项目程序集名称为
- 确认资源生成操作:右键视频文件→属性,确保生成操作设置为
嵌入的资源,否则资源不会被打包到程序中。 - 路径层级匹配:如果视频文件放在子文件夹(如
Resources/Videos),路径需包含文件夹层级:Source="resource://MediaElementApp/Resources/Videos/myvideo.mp4"
内容的提问来源于stack exchange,提问作者saramgsilva
相关产品推荐
相关产品推荐

