我只有几天时间来展示一个关于WPF音乐播放器的演示,我遇到了麻烦,我现在无法解决这个问题。 我需要知道如何更改位置文件夹,同时音乐播放器正在运行,我有3个位置文件夹:
在每个文件夹中都有不同类型的歌曲。 这个音乐播放器将在每天早上8点到晚上10点使用,没有停止,所以当在早上(早上8点)运行应用程序时,它会自动下载文件夹“Morning”,但是当timeOfDay是Midday时它会改变位置文件夹,所以传入文件夹“Afternoon”(大约6p将传递到文件夹“Night”)并且在我被卡住的那一刻我不知道如何解决这一步,我不知道如何组织我的代码来改变音乐播放器位置文件夹并以自动方式下载新歌曲。 请你有一些想法照亮我的想法并继续完成这个演示? 对不起我的困惑; 非常感谢
答案 0 :(得分:2)
Honsa有正确的想法,但这是一个稍微清洁的实现:
public static string GetFolderForTime(DateTime time)
{
if (time.Hour > 8 && time.Hour < 10)
return @"D:\Morning\";
if (time.Hour > 10 && time.Hour < 18)
return @"D:\Afternoon\";
return @"D:\Night\";
}
这样,如果需要,你可以传入与当前时间不同的时间,尽管通常你会使用DateTime.Now。
另请注意,该功能的名称描述了它的作用。
答案 1 :(得分:1)
静态公共字符串GetWorkingFolder() { if(System.DateTime.Now.Hour&gt; 1&amp;&amp; System.DateTime.Now.Hour&lt; 12) 返回@“D:\ Morning”; 否则if(System.DateTime.Now.Hour&gt; 11&amp;&amp; System.DateTime.Now.Hour&lt; 18) 返回@“D:\ Afternoon”; 其他 返回@“D:\ Evening”; }
将返回一个差异字符串,该字符串取决于当前的pc时间(当然可以改变)然后可以将其解析到目录中或直接用于任何加载方法正在拾取各种“曲调”
答案 2 :(得分:-1)
试试这个。每次歌曲结束时,在加载新歌曲之前,只需调用一个执行此操作的函数:
// The string returned is the path
public string TimeOfDay()
{
// How you define
if(System.DateTime.Now.Hour >= 8 && System.DateTime.Now.Hour < 10)
return @"D:\Morning\";
else if(System.DateTime.Now.Hour >= 10 && System.DateTime.Now.Hour < 18)
return @"D:\Afternoon\";
else
return @"D:\Night\";
}
如果返回的路径与您已有的路径不同,则更改并播放新路径中的歌曲。