基于网络的音乐库(编程概念)

时间:2009-05-04 04:10:39

标签: php python mysql

所以,我一直在脑子里把这个想法折腾了一会儿。从本质上讲,它主要是我学习编程的一个项目。我的想法是,我有一大堆数据,我的音乐收藏。我的音乐有很多数据集。格式,艺术家,标题,专辑,流派,长度,发行年份,文件名,目录,仅举几例。理想情况下,我想创建一个数据库,其中包含所有这些数据,并在将来创建一个Web界面,我可以管理我的音乐集合。所以,我的问题如下:

  1. 这听起来像是从头开始构建数据库的好项目吗?
  2. 我建议您从哪个语言开始?我知道PHP的花絮,但我认为用文件系统索引数据会很糟糕。 Python是我想到的另一种语言,考虑到它是大多数人认为是初学者语言的语言。
  3. 如果您打算在家中实施这种系统(网络界面)(如果你家中的PC连接了几台立体声系统并且这是连接的软件),你想要什么样的功能?看?
  4. 我建立索引脚本的想法如下:

    • 让它只使用文件名填充数据库
    • 从文件名的扩展名确定格式
    • 获取文件大小
    • 使用数据库中的文件名作为参考,提取ID3或其他适用的元数据(艺术家,曲目名称,专辑等)
    • 检查磁盘上是否仍存在所有文件,如果不存在,则将文件标记为不可用

    另一个脚本将在稍后进入并检查文件是否返回,如果不是,则将从数据库中删除该行。

4 个答案:

答案 0 :(得分:3)

我认为这是一个学习编程的好项目。通过使用您自己的“产品”,您可以真正掌握缺少的东西,并且更有动力学习和改进您的计划 - 这被称为dogfooding。奇怪的是,这本书Dive Into Python虽然有点陈旧,却详细介绍了如何使用Python提取音乐文件的ID3信息。因为这是最常被推荐给初学者的书,所以我敢打赌,这本书可以像任何一本书一样开始。

答案 1 :(得分:1)

处理你关心的事情是学习编程的最佳方式,所以我认为这是个好主意。

我还建议将Python作为一个开始的地方。玩得开心!

答案 2 :(得分:1)

如果您使用Python,则可以使用Google App Engine构建它。它为您提供了一个非常好的数据库界面,本教程将带您进入“Hello world!”一个功能正常的网络应用程序。

您甚至不需要将结果上传到Google;您可以在开发环境中运行它,它可以在您的家庭网络中访问。

答案 3 :(得分:1)

我认为python将是一个很好的选择

  1. 易于学习,但也具有高级功能
  2. 良好的网络框架,例如django,你可以在你的机器上运行
  3. Word class免费python托管可用,即谷歌应用引擎
  4. 可用于几乎所有可以想到的任何东西的库要阅读您的mp3标签,您可以使用http://id3-py.sourceforge.net/
  5. 搜索时可以使用pylucene http://lucene.apache.org/pylucene/ 最好的搜索引擎。