C# 为什么这个代码段不起作用?(用于播放媒体内容的Uwp应用程序内容)
这是我的代码,我从MSDN论坛()的一个示例中获取 这是个例外我得到了这个例外 我已将该文件添加到正确的文件夹中C# 为什么这个代码段不起作用?(用于播放媒体内容的Uwp应用程序内容),c#,uwp,windows-10,win-universal-app,assets,C#,Uwp,Windows 10,Win Universal App,Assets,这是我的代码,我从MSDN论坛()的一个示例中获取 这是个例外我得到了这个例外 我已将该文件添加到正确的文件夹中 如果在GetFolderAsync上设置断点,您应该能够查看folder变量并查看它认为路径在哪里。。。它是否与您期望的绝对路径相同(C:\Users….repos\Multi-timer)仅将文件添加到文件资源管理器中的资产文件夹中并不是将文件导入项目的完整步骤。您还需要将该文件添加到Visual Studio的解决方案资源管理器中的资产中。您可以检查以下步骤以导入文件: 单击解
如果在GetFolderAsync上设置断点,您应该能够查看folder变量并查看它认为路径在哪里。。。它是否与您期望的绝对路径相同(C:\Users….repos\Multi-timer)仅将文件添加到文件资源管理器中的
资产
文件夹中并不是将文件导入项目的完整步骤。您还需要将该文件添加到Visual Studio的解决方案资源管理器中的资产中。您可以检查以下步骤以导入文件:
单击解决方案资源管理器中的显示所有文件
选项
,然后在资产
文件夹中找到timesup.mp3
文件
timesup.mp3
文件,然后选择包含在项目中
选项timesup.mp3
文件,并确保在属性窗口中将构建操作
设置为内容
资产
,您还可以右键单击资产
并选择添加>现有项…,选择目标文件,然后单击添加
按钮导入文件
此外,如果您想知道如何查看folder变量的输出,请参阅
private DispatcherTimer timer;
private TimeSpan myTime = new TimeSpan(0, 0, 60);
public MainPage()
{
this.InitializeComponent();
timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 1);
timer.Tick += Timer_Tick;
timer.Start();
}
private void Timer_Tick(Object sender, object e)
{
if (myTime.Seconds > 0)
{
myTime -= new TimeSpan(0, 0, 1);
MainTextBlock.Text = myTime.ToString();
}
else
{
timer.Stop();
MainTextBlock.Text = "Finished";
PlaySound_Async();
}
}
private async void PlaySound_Async()
{
MediaElement timesup = new MediaElement();
Windows.Storage.StorageFolder folder = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Assets");
Windows.Storage.StorageFile file = await folder.GetFileAsync("timesup.mp3");
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
timesup.SetSource(stream, file.ContentType);
timesup.Play();
}