我制作了一个多区域音乐播放器(使用C#和SQL),在我工作的公司的sereval区播放音乐。预定的时间会自动加载不同的预定义播放列表。
我现在希望让播放列表更智能一点。我希望能够将一首歌连接到一个或几个时段(即早晨,中午,晚上)。
我希望实现的目标是每天在特定时间“动态”生成播放列表,而不是使用预定义的播放列表。通过这种方式将歌曲添加到我的音乐库中,确保设置“允许”的时段就足够了......不再需要花几个小时设置播放列表......
我目前有一个音乐表,一个播放列表表和一个连接这两个表来存储实际播放列表的表。
我倾向于让事情变得过于复杂,所以我想我会问你们有关如何以有效的方式设计数据库的一些技巧......(也许有几行关于如何创建的c#代码播放列表)
答案 0 :(得分:0)
真正有趣的问题需要处理。如果你想动态生成播放列表,我认为播放列表表已经过时了。
我要做的是在音乐表中再添加3列:日,下午和夜晚。 这些列存储了白天,下午或晚上可以播放歌曲的机会。
示例:
Day | Afternoon| Night
10 | 40 | 50
然后你可以做一个简单的查询来动态生成列表。
示例:
Morning playlist
Select * from SongTable order by Day * random() limit PLAYLIST_SIZE
*我在办公室,所以没有机会测试查询。提示:随机数可以通过以下方式生成:
ABS(CHECKSUM(NewId())) % 100