当应用程序启动Windows手机时,如何播放声音

时间:2013-11-01 22:22:33

标签: c# audio windows-phone mediaelement

在我的Windows手机应用程序中,我想播放一个简短的.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或谷歌搜索上找到任何关于此的信息。

1 个答案:

答案 0 :(得分:0)

请勿使用媒体元素执行您要执行的操作。这是为了音响效果。这意味着更多用户交互媒体。

相反,请执行以下操作(you can the full article here

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();

}