2012-01-06 267 views
0

Windows Phone 7.1/7.5/Mango应用程序。Windows Phone 7.1 - 不播放媒体元素

我在页面上有四个不同的MediaElements。

  • 一个播放页面的负载。

  • 其他3我玩()它在左边鼠标按钮单击页面上的不同图像元素。 我在MediaEnded事件处理程序中调用Stop()。

问题:最后的MediaElement在自上而下的顺序不会玩。所以它不是元素本身,而是表现怪异的元素的顺序。

我有read this它谈论单个MediaElement,我不明白。

有没有人有任何想法呢?

注意:我不必同时播放所有声音。一次只有一个声音。

我发现一个引用只会说明单个MediaElement,并在代码中动态设置Source。我还没有尝试过,会很快做到。

+0

请给我们一些xaml标记和一些C#代码,然后我们将能够提供帮助。到目前为止,拥有4个媒体元素的页面听起来很好。一切都应该工作。 – 2012-01-06 23:18:52

+0

没有什么特别的,但我会在晚上晚些时候贴出代码。 – oms 2012-01-06 23:40:49

回答

0

要确认最后一句,每页只能有一个MediaElement。您必须考虑更改代码隐藏源(或使用数据绑定),而不是每个音频片段都有一个MediaElement。拥有多个MediaElements不会引发错误,但它会覆盖之前添加的行为(就像您遇到的那样)。

要设置来自代码隐藏的音频,您可以使用SetSource(接受流)方法或Source属性,该属性读取Uri

+0

是的,正如我在我的问题中提到的那样,我知道并且会在晚些时候尝试,但主要是令人困惑的是3个元素工作正常,第4个(最后的顺序)不会。 – oms 2012-01-06 23:39:28

+0

如果您打算使用不支持的方法,我认为期望不稳定的行为是合理的。即使它适用于所有四种,您也不应该使用多个MediaElements,因为完全没有理由。 – keyboardP 2012-01-06 23:46:27

+0

是的,作为编码员,我尽可能地少了一些元素。设计师正在使用Blend来创建应用程序,这就是当我们结束了多个元素。但我看到的一个地方是我们有一个拥有MediaElement之一的UserControl。该用户控件用于大多数页面。所以至少我看到我的页面上有两个MediaElement。 – oms 2012-01-06 23:59:22

0

在我的情况下,我在第6个媒体元素出现错误。我尝试在一个项目中放置14个媒体元素(只是为了看看会发生什么)。你也可以使用XNA的SoundEffect,如果你真的需要有很多来源在同一时间播放或什么东西