在Metro程序中播放多媒體文件,可使用MediaElement來播放。在xaml文件中添加如下一行:
<MediaElement x:Name="playSound" Source="" AutoPlay="False"></MediaElement>
如果是相應控件來播放聲音很容易,只需要給source設置一個uri,然後play
playSound.Source = new Uri("http://xxxxxxx/music.mp3", UriKind.Absolute);
playSound.AutoPlay = true;
playSound.Play();
其中需要設置AutoPlay,不然會聽不到聲音。
但是很多情況下播放聲音不是在響應控件的時候,而是在其他類中。在外部類中得不到主界面對象,我們可以聲明一個屬性來保存主界面對象。
public static MainPage Current
{
get;
set;
}
public MainPage()
{
this.InitializeComponent();
Current = this;
}
然後在主界面類中增加一個播放聲音函數,在外部類中通過MainPage.Current來調用這個函數。
一個常見問題。開發過程中會發現外網的音頻文件可以播放,但是內網的卻不行,需要修改一項設置,在Package.appxmanifest文件中的Capabilities選項卡,勾上Private networks (Client & Server)