65.9K
CodeProject 正在变化。 阅读更多。
Home

BSEtunes

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.67/5 (10投票s)

2009年10月16日

CPOL

4分钟阅读

viewsIcon

67285

downloadIcon

4396

BSEtunes 是一款基于 MySQL、完全可管理、可联网的单用户或多用户点唱机应用程序

BSEtunes1.jpg

引言

BSEtunes 是一款基于 MySQL、完全可管理、可联网的单用户或多用户点唱机应用程序。使用 BSEtunes,用户可以收听单个或多个选定的歌曲、随机歌曲、整张专辑、播放列表中的歌曲等。您可以过滤随机播放或创建无限数量的播放列表。要进行选择,请将内容从一个面板拖动到另一个面板。BSEtunes 还包含一个集成的 WPF coverflow 克隆。

您在 BSEtunes 客户端看到的内容将由 BSEtunes 中的集成工具或 BSEadmin(用于数据采集的集成工具)进行管理。外观上 BSEtunes 是 Microsoft Media Player 和 iTunes 的混合体,控件基于 BSE.Windows.Forms 控件。该程序使用 WMPlib ,但也可以与 Winamp 播放器(如果已安装)一起使用。在 WPF 发布之前,BSEtunes 甚至可以在 Windows 2000 上运行。

当您使用此应用程序时,您将不再需要任何其他音频应用程序。附带的 BSEadmin 工具可以抓取 CD、写入 ID3 标签并从 freeDB 数据库获取专辑信息。

背景

我于 2002 年开始开发此应用程序,用于管理我的 LP 和 CD,学习 C# 并测试各种 .NET 功能和命名空间。每当看到新的 .NET 功能时,我都会考虑如何在 BSEtunes 中实现它。

我原本只想使用免费或开源组件。因此,BSEtunes 基于 MySQL。

应用程序中的代码多年来不断增长。有些代码部分写得更好,有些代码部分则不太好。现在,该应用程序具有高度复杂性并且运行稳定,以至于其他用户也可以参与其中。因此,请随意使用这些代码。

特点

BSEtunes 的功能

  • 过滤随机输出

    您可以播放所有音频文件内容的随机歌曲,也可以按流派或年份进行过滤。

    Filtering the output

  • 播放列表

    您可以拥有无限数量的播放列表,并将歌曲从所有其他面板拖入其中。

    Managing playlists

  • 导出到用作可移动驱动器的音频播放器

    要将内容导出到音频播放器,请将歌曲从所有面板拖入。

    audioplayer export

  • Coverflow

    您可以使用 WPF coverflow 窗口浏览您的专辑。

    Coverflow

  • 对内容进行全文搜索。
  • 等等……

BSEadmin 的功能

BSEadmin 是管理所有内容的窗口。

BSEadmin

在 BSEadmin 中,您可以管理所有音频内容。为此,BSEadmin 包含多个窗体和对话框。

forms in BSEadmin

您可以抓取您的 CD(感谢 Idael Cardoso)...

抓取时,请在上面的列表中选择音轨,然后将它们拖到下面的列表中。

Ripper in BSEadmin

...或者您可以从其他地方导入您的音频内容。

导入时,请在上面的列表中选择音轨,然后将它们拖到下面的列表中。

Import of audio content

您可以通过 freeDB 请求读取 CD 的内容。

freeDB request

通用功能

要更改数据库主机或包含音频文件的网络共享,请双击选项窗体中的条目并更改值。

BSE options

有关系统信息,集成了几个统计对话框。

Statistics in BSE

架构

BSEtunes 可以作为单计算机系统运行,也可以发展成为多用户客户端服务器系统。数据库和文件服务器可以是 Windows 或 Linux 计算机/服务器。

BSEtunes in a lan environment

如果您有新的磁盘用于音频内容,请将文件复制到此新磁盘,并在选项对话框中更改指向它的路径。数据库对文件的引用是相对的。

示例

如果一首歌曲位于“C:\songs\interpret\album\song1.mp3”,则数据库中只存储路径部分“interpret\album\song1.mp3”。“C:\songs”的值存储在选项中。

所需下载

使用源代码

安装MySQL Connector后,您应该能够构建解决方案。其他需要的 DLL 位于名为 DLL 和 lame 的子目录中。您可能需要调整 BSE.Platten.Tunes BSE.Platten.Admin.WinApp 项目中的批处理文件。

MySQL 数据库服务器的安装在 MySQL.chm 文件中有描述。

待办事项

  • 全球化。目前该应用程序仅支持德语
  • 用于导入现有音乐库的向导
  • 编写用户手册 ;-)
  • 图形均衡器
  • 多用户环境下的用户管理
  • 集成 CD 播放器
  • 还有更多...

谢谢

  • Idael Cardoso 提供的 C# MP3 压缩器
  • mav.northwind 提供的 ListView 就地编辑
  • Arik Poznanski 提供的 C# 完成 Shell
  • Alvaro Mendez 提供的读/写 XML 文件、配置文件、INI 文件或注册表
  • Alex Dobusch 和 Berhard Jenny 的测试和大量想法
  • 以及其他不幸被我遗忘名字的人

变更

  • 2010/04/24 现在提供德语和英语版本
© . All rights reserved.