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

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");
   });

运行效果

视频无法加载的显示效果

已添加的资源文件

资源文件列表


问题原因及修正方案

  1. 嵌入资源URI格式错误:CommunityToolkit.Maui.MediaElement不支持embed://前缀,正确的嵌入资源URI格式应为resource://[程序集名称]/[资源相对路径]。
    • 假设项目程序集名称为MediaElementApp,视频文件在项目根目录,需将Source修改为:
      Source="resource://MediaElementApp/myvideo.mp4"
      
  2. 确认资源生成操作:右键视频文件→属性,确保生成操作设置为嵌入的资源,否则资源不会被打包到程序中。
  3. 路径层级匹配:如果视频文件放在子文件夹(如Resources/Videos),路径需包含文件夹层级:
    Source="resource://MediaElementApp/Resources/Videos/myvideo.mp4"
    

内容的提问来源于stack exchange,提问作者saramgsilva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:22:45