How play a .mp3 (or other) file in a UWP app?

爱⌒轻易说出口 提交于 2019-12-18 22:35:12

问题


I try this:

PlayMusic = new MediaElement();
PlayMusic.AudioCategory = Windows.UI.Xaml.Media.AudioCategory.Media;

PlayMusic.Source = new Uri(@"C:\Users\UserName\Desktop\C:\Users\user\Desktop\Kill The Alarm - Begin Again.mp3");
PlayMusic.Play();

No more error messages appear on the display (try catch runs clean through).

Sorry for the short description... I can read and understand English very well but it is difficult for me to talk and write.


回答1:


Every Windows Store App has three folders. A Local folder, a Roaming folder and a Temp folder. Each is accessed the same way. Local is meant to store assets in a local, application-specific folder.

Here is the answer:

StorageFolder Folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
                Folder = await Folder.GetFolderAsync("MyFolder");
                StorageFile sf = await Folder.GetFileAsync("MyFile.mp3");
                PlayMusic.SetSource(await sf.OpenAsync(FileAccessMode.Read), sf.ContentType);
                PlayMusic.Play();

MfG.




回答2:


You cannot just read any file on your file system like this with windows store applications.

If you just want to test it:

  1. Add the file to your project in Visual Studio
  2. Change your file’s "Build Action" to "Content".
  3. Change "Copy to Output Directory" to "Copy Always".

What you probably want to do is explained in the section, Read Local files w/o a Picker from this article. This might also be helpful.




回答3:


Put mySong.mp3 in your Assets folder. Then in Visual Studio, right click on your Assets folder and select "add existing item". Add mySong.mp3 FROM your Assets folder. In XAML, add a player:

 <MediaElement x:Name="myPlayer"
 AutoPlay="True" />

In c#, mySong.mp3 will play when you set the source:

 Uri newuri = new Uri("ms-appx:///Assets/mySong.mp3");
 myPlayer.Source = newuri;



回答4:


Register the MediaFailed-Event of the MediaElement and check if it gets raised. The ExceptionRoutedEventArgs passed to the method, should contain information about, why the file cannot be played.



来源:https://stackoverflow.com/questions/32592841/how-play-a-mp3-or-other-file-in-a-uwp-app

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!