3

我对 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 等。没有任何效果。

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

4

1 回答 1

4

经过 48 小时的研究和痛苦的试错后,我在 MSDN 论坛上找到了这个链接。

最后,Windows 8 不会对应用程序产生异常。MediaElement 静默失败,而所有其他视频播放器运行良好。

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

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

感谢@JimO'Neil 提供帮助 :)

于 2012-10-05T04:27:31.590 回答