1

在我的 windows phone 应用程序上,我想在启动时播放一个短的 .wav 音频,类似于 windows。起初我尝试在加载我的一个控件时使用事件处理程序(这大约有 60% 的时间有效,这非常有趣,也许有人也可以清除它,我认为这与订单有关事情发生在加载。这就是为什么每次运行它都不同)。我正在使用 Visual Studios 2012 Ultimate,这是我的 .wav 文件的 xaml 代码:

<MediaElement x:Name="MySound"
                          Source="/quantum_drive.wav"
                          Volume="1"
                          AutoPlay="false"
                          />

我也刚刚尝试在主页加载时调用此方法:

private void MainPage1_Loaded(object sender, RoutedEventArgs e)
    {
        MySound.Play();
    }

由于某种原因,这只在大约 60% 的时间里有效(似乎是随机的),这是为什么呢?!这似乎是想要在手机应用程序中做的一件常见事情,但我在 stackoverflow 或谷歌搜索中找不到任何相关信息。

4

1 回答 1

0

不要使用媒体元素来做你想做的事情。这是为了音效。它更多地用于用户交互媒体。

相反,请执行以下操作(您可以在此处查看完整文章

using Microsoft.Xna.Framework.Audio;

using Microsoft.Xna.Framework.Media;

using Microsoft.Xna.Framework;

static Stream stream1 = TitleContainer.OpenStream("soundeffect.wav");

static SoundEffect sfx = SoundEffect.FromStream(stream1);

static SoundEffectInstance soundEffect = sfx.CreateInstance();

现在只需从您加载的方法中调用播放声音

public void playSound(){

    FrameworkDispatcher.Update();

    soundEffect.Play();

}
于 2013-11-04T15:55:26.947 回答