当我尝试玩本地文件组件没有文件扩展名System.Windows.Controls.MediaElement
失败并显示 FileNotFoundException 消息“媒体文件下载失败。”:null。内部异常是System.Runtime.InteropServices.COMException
HResult 0xC00D0FEA。
我尝试了分配给的 UriMediaPlayer.Source
with WebClient.DownloadData(Uri)
并且uri和返回的数据都没有问题。
更新:
当我首先集中精力思考为什么new Uri(@"c:\temp\filename.")
就变成了file:///c:/temp/filename
(吞掉尾随点)最终将文件重命名为“filename.data”后,仍然抛出相同的异常。我假设 WPF(使用最新技术 Media Foundation)使用文件扩展名,而不仅仅是解析文件数据。facepalm
问题是媒体播放器使用 DirectShow 过滤器来加载文件。
如果没有扩展,它不知道要使用哪个过滤器。
如果您尝试在没有注册方案的情况下打开流,则会出现相同的错误。
方案保存在HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Player\Schemes
.
通过在此处添加方案,可以在 MediaPlayer 中打开它(只要打开了正确的过滤器)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)