Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在UWP应用程序中播放.mp3(或其他)文件?_C#_Audio_Uwp_Windows Store Apps_Windows Store - Fatal编程技术网

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

C# 如何在UWP应用程序中播放.mp3(或其他)文件?,c#,audio,uwp,windows-store-apps,windows-store,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(); 显示屏上不再显示任

我试试这个:

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)

对不起,描述得太简短了。。。
我能很好地阅读和理解英语,但我很难说和写。

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

您不能仅通过windows应用商店应用程序读取文件系统中的任何文件

如果您只是想测试它:

  • 在Visual Studio中将文件添加到项目中
  • 将文件的“构建操作”更改为“内容”
  • 将“复制到输出目录”更改为“始终复制”

  • 您可能需要执行的操作在“不使用选择器读取本地文件”一节中进行了说明。也可能有帮助。

    每个Windows应用商店应用程序都有三个文件夹。本地文件夹、漫游文件夹和临时文件夹。每个都以相同的方式访问。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();
    

    制造。

    将mySong.mp3放在您的资产文件夹中。然后在VisualStudio中,右键单击资产文件夹并选择“添加现有项”。从您的资产文件夹中添加mySong.mp3。 在XAML中,添加一个播放器:

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

    请尝试将长文件名用单引号括起来,或重命名该文件,使其不带空格,然后查看它是否可以工作,并通过这种方式不做任何更改:/<代码>C:\Users\UserName\Desktop\C:\Users\paulk\Desktop\Kill The Alarm-重新开始。mp3不是有效路径,您正在将子字符串重复到桌面文件夹。请尝试在解决方案中包含音频文件,然后更改URIPlayMusic。Source=new Uri(@“ms-appx://Sleep/Media/KillTheAlarm.mp3"); 没有变化:/Yeaaah!非常感谢你!我做到了!(我将解决方案作为答案发布!)
     Uri newuri = new Uri("ms-appx:///Assets/mySong.mp3");
     myPlayer.Source = newuri;