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

WPF编译后如何获取WAV文件的URI链接?

解决方案

针对WPF中音乐资源编译后无法访问的问题,可按以下步骤解决:

1. 确认音乐文件的项目属性配置

  • 选中Assets文件夹下的音乐文件(如music_theme.wav、line_clear.wav)
  • 在属性窗口中设置:
    • 生成操作:Resource(与图片资源保持一致,将文件嵌入程序集)
    • 复制到输出目录:不复制(已嵌入程序集,无需单独复制到输出目录)

2. 使用Pack URI访问嵌入的音乐资源

WPF访问嵌入资源需使用标准Pack URI格式,替换原有的绝对路径:

private readonly Uri[] SoundsTable = new Uri[] 
{
    new Uri("pack://application:,,,/Assets/music_theme.wav", UriKind.Absolute),
    new Uri("pack://application:,,,/Assets/line_clear.wav", UriKind.Absolute)
};

说明:

  • pack://application:,,,/ 是WPF嵌入资源的固定前缀,指向当前程序集
  • 后续路径需与项目中Assets文件夹的实际结构完全匹配

3. 核对项目结构

确保Assets文件夹直接嵌套在项目根目录下,避免因文件夹层级嵌套导致路径匹配失败。

4. 调试验证

编译后可通过两种方式排查问题:

  • 用ILSpy等工具打开生成的EXE/DLL,检查音乐资源是否已嵌入程序集
  • 为播放音乐的媒体控件绑定MediaFailed事件,捕获具体错误信息定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:15:35