gem推荐之ruby-mp3info,纯Ruby修改mp3标签
我们都知道mp3能储存音乐,其实mp3文件里还能储存“歌手、专辑、曲风、时长”等很多信息。这些信息以一次的格式保存在文件头部和尾部。很多播放器就是根据这些信息来下载歌手头像和歌词的,但很多JS也看到了商机,他们把这些信息填充自己的广告,这样就可以免费传播。最近入手WP7,本来想体验下Zune的魅力,没想到一打开音乐,歌曲信息全变成了一些网址,相当恶心。
幸好找到了ruby-mp3info,迅速对mp3文件做了一次整容。
ruby-mp3info介绍
- 纯Ruby编写
- 读底层信息如比特率,时长等
- 可读写删除id3v1 and id3v2 标签
- 现在可读VBR文件
安装
先到https://github.com/oldsong/ruby-mp3info这里下载,然后解压。
$ ruby install.rb config $ ruby install.rb setup # ruby install.rb install
不要“gem install ruby-mp3info”安装,这个gem已经有1年没有更新,有几个bug。
示例
require "mp3info" #指定编码并打开文件,支持utf-8,gbk,gb2312。默认为iso-8859-1 mp3 = Mp3Info.open("myfile.mp3", :encoding => 'utf-8') # 选取并显示所有信息和标签 Mp3Info.open("myfile.mp3") do |mp3info| puts mp3info end # 读/写 使用mp3.tag来读取tag1和tag2 # 读时 tag2 优先 tag1 # 写时, 两者均写。 Mp3Info.open("myfile.mp3") do |mp3| puts mp3.tag.title puts mp3.tag.artist puts mp3.tag.album puts mp3.tag.tracknum mp3.tag.title = "标题" mp3.tag.artist = "艺术家" end