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

标签 windows-8 windows-runtime winrt-xaml

我对 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 的帮助:)

关于windows-8 - WinRT/Win8 中的 MediaElement 根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12738382/

相关文章:

windows-8 - Blend For Visual Studio 11 出现错误

c# - 如何访问文件夹并获取 WinRT 类库中的存储文件列表?

javascript - 适用于Electron JS的WinRT API “Windows.UI.ViewManagement”?

c# - 如何使用 XAML 和 C# 根据其当前位置选择垂直 ListView 项目?

c# - 如何防止图钉通过弹出窗口显示?

sqlite - 使用 SQLite-WinRT 包装器构建问题

c# - 如何在 MahApps.Metro 中添加 AnimatedTabControl?

xaml - DataTemplate 中 ViewMode 的 WinRT 绑定(bind)数据

c# - 在 Metro 应用程序中打开媒体文件

c# - 如何检测 Windows 8 Metro 应用程序中的多点触控操作?