如何在UWP应用程序中播放.mp3(或其他)文件?

时间:2015-09-15 18:09:55

标签: c# audio uwp windows-store-apps windows-store

我试试这个:

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();

显示屏上不再显示错误消息(尝试使用catch运行清理)。

对不起,简短说明...... 我能很好地阅读和理解英语,但我很难说和写。

4 个答案:

答案 0 :(得分:11)

每个Windows应用商店应用都有三个文件夹。本地文件夹,漫游文件夹和Temp文件夹。每个都以相同的方式访问。 Local用于将资产存储在本地特定于应用程序的文件夹中。

以下是答案:

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。

答案 1 :(得分:4)

使用Windows应用商店,您不能只读取文件系统上的任何文件。

如果你只想测试它:

  1. 将文件添加到Visual Studio中的项目
  2. 更改文件"构建操作"到"内容"。
  3. 更改"复制到输出目录"到"始终复制"。
  4. <{3}}中的从没有选择器的读取本地文件部分中解释了您可能要执行的操作。 this article也可能有所帮助。

答案 2 :(得分:2)

将mySong.mp3放入Assets文件夹中。然后在Visual Studio中,右键单击Assets文件夹并选择“添加现有项”。从Assets文件夹中添加mySong.mp3。 在XAML中,添加一个播放器:

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

在c#中,mySong.mp3将在您设置源时播放:

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

答案 3 :(得分:0)

注册MediaElement的MediaFailed - 事件并检查它是否被引发。传递给方法的ExceptionRoutedEventArgs应该包含有关文件无法播放的信息。