Windows phone 7 带Silverlight的Windows Phone 7-MediaElement不';不要玩这个代码

Windows phone 7 带Silverlight的Windows Phone 7-MediaElement不';不要玩这个代码,windows-phone-7,Windows Phone 7,请问我做错了什么 它不会显示任何错误,也不会播放 MediaElement song = new MediaElement(); song.Source = new Uri(@"\WP7_aaa\WP7_aaa\GameSounds\MenuScreen.mp3", UriKind.Relative); LayoutRoot.Children.Add(song); song.AutoPlay = false; song.Play()

请问我做错了什么

它不会显示任何错误,也不会播放

MediaElement song = new MediaElement();
        song.Source = new Uri(@"\WP7_aaa\WP7_aaa\GameSounds\MenuScreen.mp3", UriKind.Relative);
        LayoutRoot.Children.Add(song);
        song.AutoPlay = false;
        song.Play();

在您的项目中,对于MP3文件,您是否-

  • 生成操作
    属性设置为
    内容
  • 复制到输出目录
    设置为
    始终复制
  • 如果您在项目中没有完成上述操作,请尝试一下


    嗯,indyfromoz

    您必须将Uri的种类指定为RelativeRobSolute

    MediaElement song = new MediaElement();
    song.Source = new Uri(@"\WP7_aaa\WP7_aaa\GameSounds\MenuScreen.mp3", UriKind.RelativeOrAbsolute);
    LayoutRoot.Children.Add(song);
    song.AutoPlay = false;
    song.Play();
    

    您需要等待歌曲加载,然后才能对其调用Play方法

    你想要的是:

     MediaElement song = new MediaElement();
     song.Source = new Uri("Audio/background.mp3", UriKind.Relative);
     song.MediaOpened += MediaElement_MediaOpened; 
    
    然后在事件处理程序中:

        private void MediaElement_MediaOpened(object sender, RoutedEventArgs e)
        {
            (sender as MediaElement).Play();
        }
    

    。(编辑:不知道在哪里可以找到此线程,因为他们将其拆分为WP和Xbox论坛…

    哦,我只需要更改内部网格的布局根,例如:ContentPanel.children…)