首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WindowsPhone MediaElement

WindowsPhone MediaElement
EN

Stack Overflow用户
提问于 2012-03-14 19:15:01
回答 1查看 1.6K关注 0票数 2

在我的应用程序中,每页有一个MediaElement。当导航到此页面时,我会播放语音信息。

代码语言:javascript
复制
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
      base.OnNavigatedTo(e);
      mediaElement.Stop();
      smediaElement.Source = new Uri("res/sounds/" + soundName, UriKind.RelativeOrAbsolute);
}

我已为MediaElement注册了lsitener MediaElement:

代码语言:javascript
复制
private void me_MediaOpened(object sender, RoutedEventArgs e)
{
        MediaElement m = (MediaElement)sender;
        m.Play();
}

但是这种声音只在和其他页面上播放。

它看起来像是: Page1 (声音)、-> Page2 (无声音)、-> Page3 (声音)、-> Page4 (不健全)。

我什么都试过了,但我想不出是什么导致了这种行为。也许这并不重要,但我正在浏览同一个PhoneApplicationPage子类的实例。

有什么想法吗?

P

EN

回答 1

Stack Overflow用户

发布于 2012-03-15 15:52:42

我解决了动态生成MediaElement并从onNavigatedFrom中删除布局的问题,这里是代码:

代码语言:javascript
复制
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
        base.OnNavigatedTo(e);
        mediaElement = new MediaElement();
        slideSound.Volume = 1;
        LayoutRoot.Children.Add(mediaElement);
        ....
}

protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
        base.OnNavigatedFrom(e);
        mediaElement.Stop();
        LayoutRoot.Children.Remove(mediaElement);
        mediaElement = null;
}

它工作得很完美。您必须将mediaElement从页面中删除,或者在下一页上播放声音将无法正常工作,这是非常困难的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9708629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档