WinRT / Win8中的MediaElement根本不起作用

时间:2012-10-05 01:40:08

标签: windows-8 windows-runtime winrt-xaml

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

所以,这是我关于WinRT的系列的下一个问题:

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

为什么这不起作用?!!!

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

这些事件均未引发:

  • MediaOpened
  • 的MediaFailed
  • MediaEnded
  • SeekCompleted
  • DownloadProgressChanged
  • 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 文件是构建类型内容,我可以在Windows Media Player和Zune中打开它。所以视频文件绝对没有问题。但是,我确实尝试过其他文件,比如MP4,AVI等。没什么用。

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

1 个答案:

答案 0 :(得分:4)

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

最后,Windows 8不会将应用程序的异常冒泡。 MediaElement默默地失败,而所有其他视频播放器运行正常。

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

无论如何,我为浪费任何人的时间而道歉。

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