用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为例。
也可以到https://github.com/oldsong/ruby-mp3info下载后,执行下面命令进行安装:
ruby install.rb config ruby install.rb setup ruby install.rb install
不建议通过gem的方式安装,因为这样安装的版本有bug,建议采用上面的方法。
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
用这个库可以开发一个完整的音乐管理软件,因为它提供了一整套完备的针对音乐文件的操作。
相关推荐
ruby脚本交互.rar
ruby脚本编辑器.rar
ngx_ruby 是嵌入 ruby 脚本的 Nginx 模块
Ruby脚本语言经典教程
ruby脚本,用来分析case覆盖率,文件名,文件个数等等
jira-omnifocus, 创建和管理OmniFocus任务的ruby 脚本在你的Jira脚本上 创建和管理基于你的JIRA票证的OmniFocus任务的ruby 脚本...
易语言ruby脚本交互源码,ruby脚本交互,信息框_,加载内存DLL,释放内存DLL,取DLL导出函数地址,GetIntegerAddress,GetArrayDataAddress,脚本_直接执行,脚本_定义模块,脚本_初始化,脚本_定义类,脚本_定义类方法,脚本_...
这是一个把ruby脚本代码转化为exe可执行文件转化后文件有点大。ruby2.0有望改进这方面的支持
搭建redis集群,使用ruby脚本搭建集群。 redis-3.0.0.gem
Ruby是一种功能强大的面向对象的脚本语言,可以使用它方便快捷地进行面向对象程序设计。与Perl类似,而且Ruby具有强大的文本处理功能,使文本处理变得简单。此外还可以方便地使用C语言来扩展Ruby的功能。
测试用 建立组织机构Ruby脚本 脚本基于GEPS接口,采用Ruby脚本编写;
Ruby-LXC是liblxc的一个Ruby绑定,它能够让你利用Ruby脚本创建和管理Linux容器
易语言ruby脚本编辑器易语言源码.rar 易语言ruby脚本编辑器易语言源码.rar 易语言ruby脚本编辑器易语言源码.rar 易语言ruby脚本编辑器易语言源码.rar 易语言ruby脚本编辑器易语言源码.rar 易语言ruby脚本编辑器...
这是一个将ruby脚本转换成二进制可执行文件的工具,使用简单方便,功能强大,解压编译后生成rubyc可执行程序!转换ruby脚本时 使用rubyc 脚本.rb即可,可以自动检测依赖关系!使用非常方便!
了解游戏脚本编程的基础,初步了解ruby的语法和基本用法。联系python和lua(WOW用到的脚本语言),让你透视脚本语言的奥秘!
面向对象的脚本语言Ruby
ruby ssh备份远程服务器脚本,主要是学习net/scp这个模块
易语言源码易语言ruby脚本交互源码.rar
Ruby自动化脚本实现网络拓扑映射