【发布时间】:2012-09-26 03:29:16
【问题描述】:
我对 WinRT(Windows 8 应用程序)感到非常沮丧。我在最基本的功能上遇到了很多问题,而且没有支持它的文档。
所以,这是我已经发布的关于 WinRT 的系列的下一个问题:
<MediaElement Width="500"
Height="500"
Source="ms-appx:///Assets/SampleVideo.wmv" />
为什么这不起作用?!!!
- 没有视频显示。
- 没有播放音频。
- 没有错误消息。
- 没有抛出异常。
这些事件均未引发:
- 媒体已打开
- 媒体失败
- 媒体结束
- SeekCompleted
- DownloadProgressChanged
- BufferingProgressChanged
引发的唯一事件是 CurrentStateChanged,当状态为“Opening”时发生。就是这样。没有其他事情发生。
我尝试使用这样的流手动执行此操作:
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 等。没有任何效果。
还有其他人有问题吗?任何帮助,将不胜感激。
【问题讨论】:
-
在开发中心 (code.msdn.microsoft.com/windowsapps/…) 中有一个示例,我通过插入您的 XAML 并将 WMV 文件作为本地资产使用它,它工作正常 - 可能逐步浏览示例并进行比较使用您的代码将有助于识别问题吗?
-
@JimO'Neil,该示例也不起作用。我之前下载了它并测试了所有可能的视频文件。什么都没玩。没有错误消息或异常抛出。我有 3 台不同的机器运行 Windows 8,它们都不能运行视频文件。
-
这是 Windows 8 RTM 和 Visual Studio RTM 对吧?
-
@JimO'Neil,是的。我们拥有 MSDN 许可证并安装了最新的 Windows 8 Pro x64 版本和 Visual Studio 2012 Ultimate。三台不同的计算机都无法运行最基本的 MediaElement 视频。
-
和我上面引用的开箱即用示例的行为相同,没有修改,就 CurrentStateChanged 触发但不是 MediaOpened?
标签: windows-8 windows-runtime winrt-xaml