windows-8之WinRT/Win8 中的 MediaElement 根本不起作用

wuhuacong 阅读:67 2025-04-02 23:11:03 评论:0

我对 WinRT(Windows 8 应用程序)感到非常沮丧。我在最基本的功能上遇到了很多问题,而且没有文档来支持它。

那么,这是我已经发布的关于 WinRT 的系列的下一个问题:

<MediaElement Width="500"  
              Height="500" 
              Source="ms-appx:///Assets/SampleVideo.wmv" /> 

为什么这行不通?!!!

  • 没有视频显示。
  • 没有播放音频。
  • 没有错误消息。
  • 没有抛出异常。

没有引发这些事件:

  • 媒体打开
  • 媒体失败
  • 媒体结束
  • 寻求完成
  • 下载进度已更改
  • BufferingProgressChanged

引发的唯一事件是 CurrentStateChanged,它在状态为“打开”时发生。就是这样。没有其他事情发生。

我尝试使用这样的流手动执行此操作:

var packageLocation = Windows.ApplicationModel.Package.Current.InstalledLocation; 
var assetsFolder = await packageLocation.GetFolderAsync("Assets"); 
var myVideo = await assetsFolder.GetFileAsync("SampleVideo.wmv"); 
var stream = await myVideo.OpenAsync(FileAccessMode.Read); 
 
_Player.SetSource(stream, myVideo.ContentType); 
_Player.Play(); 

这也不起作用。同样不活动。

SampleVideo.wmv 文件是 Content 构建类型,我可以在 Windows Media Player 和 Zune 中正常打开它。所以视频文件绝对没有问题。但是,我确实尝试了其他文件,例如 MP4、AVI 等。没有任何效果。

还有其他人遇到问题吗?任何帮助,将不胜感激。

请您参考如下方法:

经过 48 小时的研究和痛苦的试错,我找到了 this link在 MSDN 论坛上。

最后,Windows 8 不会向应用程序弹出异常。 MediaElement 悄无声息地失败,而所有其他视频播放器运行良好。

解决方案:如果您在任何 Mac 笔记本电脑/台式机上安装了 Bootcamp,请直接联系图形制造商并下载他们的最新驱动程序。对我来说,我有一台 MacBook Pro 17",它使用 AMD Radeon 6600m 系列。对于 64 位版本,驱动程序可以是 found here

无论如何,我很抱歉浪费了大家的时间。

感谢@JimO'Neil 的帮助:)


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号