Microsoft MAUI MediaElement FromResource方法无法加载内嵌资源文件
MAUI MediaElement.FromResource 加载内嵌资源失败的解决方法
1. 确认资源的嵌入配置
- 右键项目内的
Resources/Raw/onStart.mp3文件,打开「属性」面板 - 将生成操作设置为
Embedded resource,复制到输出目录设置为「不复制」
2. 使用正确的资源路径格式
MAUI中MediaSource.FromResource不需要额外前缀,直接使用完整命名空间+资源路径(路径各层级用.分隔)。以你的项目命名空间Flora为例,正确写法如下:
onStartMusic.Source = MediaSource.FromResource("Flora.Resources.Raw.onStart.mp3");
3. 验证资源名称是否匹配
如果仍无法加载,可通过以下代码输出所有内嵌资源的完整名称,确认你使用的路径是否与实际一致:
var assembly = typeof(App).GetTypeInfo().Assembly; foreach (var resourceName in assembly.GetManifestResourceNames()) { System.Diagnostics.Debug.WriteLine(resourceName); }
运行后在调试输出窗口查看资源的真实命名,确保代码中的路径和其完全匹配。
完整可运行代码示例
// 前提:onStart.mp3已正确设置为内嵌资源 onStartMusic.Source = MediaSource.FromResource("Flora.Resources.Raw.onStart.mp3"); onStartMusic.ShouldAutoPlay = true; onStartMusic.Play();
内容的提问来源于stack exchange,提问作者Sunil G.V.
相关产品推荐
相关产品推荐

