[ 工具 ] ___ Library : Id3tag

一、介绍


ID3 tag(也称为ID3v1ID3v2)是一种用于存储音频文件元数据的标准。ID3标签使用ID3v1ID3v2版本存储元数据。 ID3v1标签将元数据存储在MP3文件末尾的128字节中,而ID3v2将元数据存储在文件的头部,因此可以包含更多的信息。

它可以在MP3文件中使用 ID3v1ID3v2标准存储歌曲的信息,如歌曲名称、艺术家、专辑名称、年份、流派和封面图片等。ID3标签可以在MP3文件中嵌入,也可以作为独立的文件存储。MP3播放器通常会读取ID3标签,以显示歌曲的元数据信息。

ID3标签可以使用多种不同的编码方式来存储这些信息,包括UTF-8UTF-16ISO-8859-1等。ID3标签可以用于将音频文件与其他文件分组,例如在iTunes中,可以使用ID3标签来将歌曲归类到不同的专辑中。此外,ID3标签还可以用于在网络上传播音频文件时显示相关信息。

二、获取


官网当中可支持两种方式获取源代码:Ftp或者SourceForge 镜像

三、构建


  • 依赖项准备

自述文件,得知:必须先安装Zlib,然后才能构建此包;

BUILDING AND INSTALLING

  Note that this library depends on zlib x.y.z or later. If you don't have
  zlib already, you can obtain it from:

      http://www.gzip.org/zlib/

  You must have zlib installed before you can build this package.

So,必须先把依赖项进行安装:___ Library : Zlib

  • 创建安装目录,并解压源码包,进入目录进行配置
linux@localhost:~$ tar zxvf libid3tag-x.y.z.tar.gz && cd libid3tag-x.y.z
linux@localhost:~/libid3tag-x.y.z$ ./configure --host=arm-none-linux-gnueabi --prefix=${HOME}/libid3tag --disable-debugging --with-pic --with-gnu-ld --disable-dependency-tracking LDFLAGS="-L${HOME}/zlib/lib" CPPFLAGS="-I${HOME}/zlib/include"
  • 如需要使用静态库,则把参数更改为以下配置
linux@localhost:~/libid3tag-x.y.z$ ./configure --host=arm-none-linux-gnueabi --prefix=${HOME}/libid3tag --disable-debugging --with-pic --with-gnu-ld --disable-dependency-tracking LDFLAGS="-L${HOME}/zlib/lib" CPPFLAGS="-I${HOME}/zlib/include" --enable-static --disable-shared
  • 编译并安装
linux@localhost:~/libid3tag-x.y.z$ make && make install

四、查看


  • 查看安装生成的文件是否是对应平台所需要的
linux@localhost:~/id3tag2arm$  ls -la
total 0
drwxrwxrwx 1 linux linux 4096 Jun 13 22:20 .
drwxr-xr-x 1 linux linux 4096 Jun 13 21:41 ..
drwxrwxrwx 1 linux linux 4096 Jun 13 22:20 include
drwxrwxrwx 1 linux linux 4096 Jun 13 22:20 lib
linux@localhost:~/id3tag2arm$ tree
.
├── include
│   └── id3tag.h
└── lib
    ├── libid3tag.a
    ├── libid3tag.la
    ├── libid3tag.so -> libid3tag.so.x.y.z
    ├── libid3tag.so.x -> libid3tag.so.x.y.z
    └── libid3tag.so.x.y.z

2 directories, 6 files
linux@localhost:~/id3tag2arm$ file lib/libid3tag.so.0.3.0
lib/libid3tag.so.x.y.z: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

确认无误后,即可将对应的库文件上传到开发板的lib目录中使用了,当然也可以配合其他库文件进行相关的移植。

五、处理

    1. 问题:当没有用环境变量指定需要使用到的头文件和库文件的路径时,就会出现以下情况:
linux@localhost:~/libid3tag-x.y.z$ ./configure --host=arm-none-linux-gnueabi --prefix=$HOME/id3tag2arm --disable-debugging
...
configure: error: zlib.h was not found
*** You must first install zlib (libz) before you can build this package.
*** If zlib is already installed, you may need to use the CPPFLAGS
*** environment variable to specify its installed location, e.g. -I<dir>.
...
configure: error: libz was not found
*** You must first install zlib (libz) before you can build this package.
*** If zlib is already installed, you may need to use the LDFLAGS
*** environment variable to specify its installed location, e.g. -L<dir>.
    1. 解决:使用LDFLAGSCPPFLAGS来指定ARM平台所需的头文件和库文件位置
linux@localhost:~/libid3tag-x.y.z$ ./configure --host=arm-none-linux-gnueabi --prefix=$HOME/id3tag2arm --disable-debugging LDFLAGS="-L${HOME}/zlib2arm/lib" CPPFLAGS="-I${HOME}/zlib2arm/include" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值