首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF和MusicPlayer

WPF和MusicPlayer
EN

Stack Overflow用户
提问于 2009-03-25 14:47:54
回答 4查看 2.9K关注 0票数 1

我收到了创建一个具有特定功能的音乐播放器的请求。

这个音乐播放器将以“随机”的方式播放音乐(第一次请求)从一个文件夹下载歌曲,另一个请求是每4小时改变一次音乐的“类型”,例如:

  • 上午8点至12点:播放“浪漫主义”歌曲;
  • 从上午12点到下午4点:它播放“拉丁语”歌曲;
  • 从下午4点到晚上8点:它播放“摇滚”歌曲;
  • 从晚上8点到午夜:播放“舞蹈”音乐;

我的目的是为每个流派创建不同的歌曲文件夹,并给出各自的TitleName (浪漫主义、拉丁语、摇滚等)。当启动时,音乐播放器将自动下载歌曲的文件夹,按照时隙。

所以,我问你一些关于代码如何组织这些功能的建议,因为我不知道如何改变音乐类型,让音乐播放器进入情态随机。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-03-25 15:57:39

这里有个方法。

使用ID3或其他任何用于MP3文件的ID3标记读取器读取播放列表或文件夹中的MP3文件的所有ID3标记。探测播放列表,读取ID3标签,创建回购。设定定时器&从你已经读过的回购中选择一个体裁

票数 2
EN

Stack Overflow用户

发布于 2009-03-25 15:59:35

你说你从一个文件夹下载歌曲,这让我相信有一个服务器正在传送信息到媒体播放器。

我会把这个逻辑放到服务器端。只要用任何正规的媒体播放器就行。

然后,在服务器端生成一个提要,根据服务器上的时间(如果客户端提供一个偏移量,则由偏移量调整),为要下载的歌曲的URL提供提要。

然后,您的程序将读取提要并获取要播放的歌曲的urls,并根据服务器告诉您的内容将播放列表提供给媒体播放器(或下载歌曲并将其提供给媒体播放器)。

票数 2
EN

Stack Overflow用户

发布于 2009-03-25 16:00:09

在您的应用程序中,有一个概念看起来很有用,那就是宋源的概念。歌曲源本质上是一个可枚举的项,它提供了对歌曲的访问。这可能首先是一个接口。

这样,您就有了提供歌曲列表的代码的抽象概念。实际的播放器将访问ISongSource的任何实现来播放下一首歌曲,并播放它。玩的时候,恐怕我帮不了你。如果所有这些都失败了,您可以从您的歌曲源创建m3u文件(mp3播放列表),并通过Process.Start启动例如Winamp,传递新创建的播放列表。事实上,这听起来像一个整洁的版本1。

如果您想对所有内容进行编码,您可能需要一段代码从一个ID3文件中读取mp3标记(如果您正在播放mp3文件)。您应该将此视为独立的功能,并且可能已经有可用的功能。ID3标记不是很复杂,如果我记得清楚的话,在mp3文件的开头有定义的字节偏移。

在此基础上,您应该能够实现考虑ID3标记的歌曲源,以决定哪些歌曲应该是源的一部分。

最后是UI。这是一个独立的世界,特别是如果你有一个皮包骨的东西。但是有了一本像样的WPF书和一些概念的证明,你就应该在完成任务的路上了。

编码愉快!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/681932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档