在我的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或谷歌搜索上找到任何关于此的信息。
答案 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();
}