文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>更改mp3文件文件名的脚本

更改mp3文件文件名的脚本

时间:2008-06-30  来源:coldrainsunc

一个用于提取mp3的标签信息,生成文件名格式为“歌名-歌手.mp3”的脚本tag.pl:
用法:

[supersun@supersunHP music]$ tag.pl *mp3
----------------------------------------
文件名:梦里花-张韶涵.mp3
下面是ID3v1的信息:
一次性获取标签:

歌名:   梦里花
歌手:   张韶涵
专辑:
年份:
注释:
曲目序号:       1
流派:Other
梦里花
下面是ID3v2的信息:
----------------------------------------
文件名:平安夜-花儿乐队.mp3
下面是ID3v1的信息:
一次性获取标签:

歌名:   平安夜
歌手:   花儿乐队
专辑:   平安夜
年份:   2001
注释:
曲目序号:
流派:Other
平安夜
下面是ID3v2的信息:

#!/usr/bin/perl

use strict;
use MP3::Tag;
use Encode;
use Encode::CN;
use File::Copy;

sub mp3rename{
        my $file=shift;
        print "----------------------------------------\n";
        print "文件名:$file\n";
        my $mp3=MP3::Tag->new("$file");
                #检测mp3对象中的标签

        $mp3->get_tags();
        if(exists $mp3->{ID3v1}){
                print "下面是ID3v1的信息:\n";
                #操作ID3v1标签:

                my $id3v1= $mp3->{ID3v1};
                print "一次性获取标签:\n\n";
                #下面进行字符编码的处理,首先解码,然后在进行编码

                my @tag_data=map encode ("gbk",decode("gbk",$_)),$id3v1->all();
                #打印标签内容

                print "歌名:\t$tag_data[0]\n";
                print "歌手:\t$tag_data[1]\n";
                print "专辑:\t$tag_data[2]\n";
                print "年份:\t$tag_data[3]\n";
                print "注释:\t$tag_data[4]\n";
                print "曲目序号:\t$tag_data[5]\n";
                print "流派:$tag_data[6]\n";
                #去除空格及预防在进行mv操作时发生插值

                $tag_data[0] =~ s/\s+//g;
                # $tag_data[0] = quotemeta"$tag_data[0]";

                $tag_data[1] =~ s/\s+//g;
                # $tag_data[1] = quotemeta"$tag_data[1]";

                print "$tag_data[0]\n";
                move $file,$tag_data[0]."-".$tag_data[1].'.mp3';
                # `mv $file ${tag_data[0]}"-"${tag_data[1]}'.mp3'`;

        }
        #对于id3v2的标签暂时还未进行处理

        if(exists $mp3->{ID3v2}){
                print "下面是ID3v2的信息:\n";
        }else{
        }
        $mp3->close();
}

for my $utile (@ARGV){


        mp3rename($utile);
}

相关阅读 更多 +
排行榜 更多 +
别惹神枪手安卓版

别惹神枪手安卓版

冒险解谜 下载
坦克战争世界

坦克战争世界

模拟经营 下载
丛林反击战

丛林反击战

飞行射击 下载