免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2250 | 回复: 1
打印 上一主题 下一主题

用ruby脚本管理你的音乐 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-25 16:56 |只看该作者 |倒序浏览
用ruby脚本管理你的音乐



用ruby管理mp3,不是重命名这么简单,需要深入去操作mp3的标签,所以需要用到一些第三方的库,这里有两个比较流行的库:id3lib-ruby和ruby-mp3info。


首先,需要在gem里安装这些库:



Ruby代码
  1. gem install ruby-mp3info
  2. gem install id3lib-ruby
复制代码
安装其中之一就可以了。在这些安装的库里都有很详细的实例来演示使用方法,而且使用起来也非常简单,如果在安装过程中出现302错误,说明你的gem版本太低,可以去gem官网升级你的gem(gem版本太低的话,gem update --system命令可能不起作用,必须自行升级)。



http://rubygems.org/pages/download 下载zip文件,解压后执行setup.rb即可升级,升级后就可以正常安装gem库了。



下面以id3lib-ruby为例。



1、修正文件名



这个应该是很常用的一个功能,就是音乐文件的文件名通常很乱,但是标签里的名字可能是正确的,这时候就可以用脚本读取标签名,然后重命名音乐文件名。



Ruby代码
  1.   require 'id3lib'
  2.     require 'find'
  3.     require 'fileutils'

  4.     source = "D:/music"
  5.     Find.find(source) do |file|
  6.       if !File.directory?(file)
  7.         tag = ID3Lib::Tag.new(file)
  8.         File.rename(file, File.dirname(file) + "/" + tag.title + File.extname(file))
  9.       end
  10.     end
复制代码
2、将文件名写入标签


Ruby代码
  1.   require 'id3lib'
  2.     require 'find'
  3.     require 'fileutils'

  4.     source = "D:/music"
  5.     Find.find(source) do |file|
  6.       if !FileTest.directory?(file)
  7.         tag = ID3Lib::Tag.new(file)
  8.         tag.title = File.basename(file, ".mp3")
  9.         tag.update!()
  10.       end
  11.     end
复制代码
用这个库可以开发一个完整的音乐管理软件,因为它提供了一整套完备的针对音乐文件的操作。

论坛徽章:
0
2 [报告]
发表于 2011-08-26 12:37 |只看该作者
一如既往滴顶村艹!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP