0

我正在尝试为 windows phone 7.1 for school 制作应用程序。我想为我的应用程序上的每个按下按钮播放声音(就像 android 的 istantfun 按钮),但我有一些问题。如果我在我的 xaml 上声明所有 120 个媒体元素,我的应用程序将只随机播放 3/4 声音。我想做这样的事情:

private void button1_Click(object sender, RoutedEventArgs e)
    {
        prova.Source = new Uri("/mp3/call.mp3", UriKind.Relative);
        prova.Play();
    }

其中 prova 是在 xaml 文件的第一页上声明的单个 MediaElement。我能怎么做?谢谢建议

4

1 回答 1

1

首先,如果您想在多页应用程序中播放声音,那么媒体元素不是好的解决方案。除了它的限制(一次单一的声音)和考虑声音效果的数量之后,也许你应该尝试使用 XNA,如下所述:http: //www.dotnetscraps.com/dotnetscraps/post/Play-multiple-sound-files-在 Silverlight-for-Windows-Phone-7.aspx

public void PlaySound(string soundFile)
{
    using (var stream = TitleContainer.OpenStream(soundFile))
    {
        var effect = SoundEffect.FromStream(stream);
        FrameworkDispatcher.Update();
        effect.Play();
    }
}

使用此解决方案,您不需要任何 XAML 元素,因此您可以在应用程序范围内播放它。

于 2012-07-17T10:00:41.197 回答