Win8 metro app 播放來自網絡語音文件常見問題


在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)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章