2

我正在开发一个Windows 8 Windows Store 应用程序 (XAML/C#),其中有一个MediaElement控件。MediaElement控件将UriIRandomAccessStream作为源。

在我的情况下,我有一个指向自定义编码资源的 URI作为输入(并且流是无穷无尽的,所以我需要能够在下载时读取它)。

我想做的是将我的MediaPlayer的源设置为我的 url,让播放器处理下载,但在需要读取某些内容时调用它,以便我可以动态解码它。

在 Silverlight 中,MediaStreamSource似乎是要走的路,但它在 WinRT 中不存在(尽管存在轻量级实现示例)。

设置它的最佳方法是什么?

4

2 回答 2

0

媒体扩展示例应该是您正在寻找的。它解释了如何提供自己的解码器。

于 2012-10-15T18:21:40.800 回答
0

这是解决方案:我从微软的“ MediaStreamSource 媒体扩展示例”开始,然后在 C# 中实现了我自己的MediaStreamSource类。然而,使用自定义媒体流源,我无法重用现有的下载机制,因此我基于 WinRT 的 HttpClient 类创建了自己的下载机制,效果很好。

最终配方是:

  • 实现您的自定义媒体流源,以便 MediaElement 可以读取您的文件,
  • 使用 HttpClient 类发出 HTTP 请求以逐块下载我的流并将其通过我的媒体源传递给我的媒体元素。
于 2012-10-23T12:09:04.757 回答