用ruby脚本管理你的音乐_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 用ruby脚本管理你的音乐

用ruby脚本管理你的音乐

 2011/9/5 8:10:29  jsntghf  http://2015.iteye.com  我要评论(0)
  • 摘要:用ruby管理mp3,不是重命名这么简单,需要深入去操作mp3的标签,所以需要用到一些第三方的库,这里有两个比较流行的库:id3lib-ruby和ruby-mp3info。首先,需要在gem里安装这些库:geminstallruby-mp3infogeminstallid3lib-ruby安装其中之一就可以了。在这些安装的库里都有很详细的实例来演示使用方法,而且使用起来也非常简单,如果在安装过程中出现302错误,说明你的gem版本太低,可以去gem官网升级你的gem(gem版本太低的话
  • 标签:Ruby 脚本

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

?

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

?

gem install ruby-mp3info 
gem install id3lib-ruby

?

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

?

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

?

下面以id3lib-ruby为例。

?

1、修正文件名

?

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

?

    require 'id3lib'
    require 'find'
    require 'fileutils'

    source = "D:/music"
    Find.find(source) do |file|
      if !File.directory?(file)
        tag = ID3Lib::Tag.new(file)
        File.rename(file, File.dirname(file) + "/" + tag.title + File.extname(file))
      end
    end

?

2、将文件名写入标签

    require 'id3lib'
    require 'find'
    require 'fileutils'

    source = "D:/music"
    Find.find(source) do |file|
      if !FileTest.directory?(file)
        tag = ID3Lib::Tag.new(file)
        tag.title = File.basename(file, ".mp3")
        tag.update!()
      end
    end

?

用这个库可以开发一个完整的音乐管理软件,因为它提供了一整套完备的针对音乐文件的操作。

发表评论
用户名: 匿名