我試圖播放一個聲音文件,當我點擊一個按鈕。該文件位於資產文件夾中,構建操作被設置爲內容。我試過如下:MediaElement的來源
選項1:
element.Source = new Uri("ms-appx:///Assets/alarm.wav");
選項2:
Windows.Storage.StorageFolder folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
Windows.Storage.StorageFile file = await folder.GetFileAsync("alarm.wav");
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
element.SetSource(stream, file.ContentType);
第二個選項的作品,但是當我點擊按鈕,它需要很長的時間播放聲音之前。根據其他問題,第一個選項應該可以工作,但聲音不會播放,也沒有例外。
有什麼建議嗎?
編輯:
我正在使用Xamarin模板進行跨平臺開發。所以,我有以下結構:
- 應用程序(PCL)
- App.Droid
- App.iOS
- App.UWP
- App.WinPhone
隨着DependencyService我嘗試在每個平臺上播放聲音,但使用App.UWP選項1不起作用。
我的.wav媒體文件和按鈕單擊事件測試的選項1,它在我身邊工作正常。 –
我在項目中添加了項目結構。我用於URI的路徑/方案是否不正確? – Nfear
我不熟悉Xamarin,但選項2中的路徑與我在視圖中的選項1中的路徑相同。你確定你的文件在App.UWP項目的Assets文件夾中嗎? –